linux之tomcat动态网页
tomcat动态网页
网站类型划分
动态网页 是指与客户有数据交互,如:注册、登录、验证等,网页的内容可以根据客户的操作发生改变
静态网页 是指没有数据交互的网页,网页的内容不随客户的操作发生改变。
动态网页的实现方式:php、asp、jsp、CGI
Tomcat-轻量级开源web服务器
轻量级的开源web服务器,主要是提供JSP和servlet的运行与开发环境,作为独立的进程配合apache使用
1.)JSP简介
JSP(Java Server Pages)是由Sun Microsystems公司倡导、参与一起建立的一种动态网页技术标准
JSP技术有点类似ASP技术,是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行
2.)Tomcat介绍
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目
由Apache、Sun 和其他一些公司及个人共同开发而成
技术先进、性能稳定,而且免费,深受Java 爱好者的喜爱并得到了部分软件开发商的认可
成为目前比较流行的Web 应用服务器
是Apache 服务器的扩展,但独立运行
免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选
3.)JDK简介
Java Development Kit (JDK)是Sun公司针对Java开发人员发布的免费软件开发工具包(SDK,Software development kit) java运行的环境 套件
是使用最广泛的Java SDK,是整个Java的核心,包括Java运行环境,Java工具和Java基础的类库
2006年Sun公司宣布将发布基于GPL协议的开源OpenJDK(开源协议)
作为java语言的SDK,普通用户并不需要安装JDK来运行java程序,而只需要安装JRE(Java Runtime Environment),而程序开发者必须安装JDK来编译、调试程序
4.)JDK安装 yum或者 源码解压安装
java -version--先检查安装 如果未安装则执行以下操作
1.)使用yum方式安装JDK
挂载光盘 配置yum源 yun clean all 清空缓存 如果装新版本JDK 先卸载 在安装yum remove
yum list | grep jdk--查找JDK软件包 然后安装即可
yum -y install java-1.8.0-openjdk.x86_64
yum -y install java-1.8.0-openjdk-*.x86_64暴力安装
2.或者使用rpm包
RPM包 安装JDK
rpm -ivh jdk-8u40-linux-x64.rpm
如果rpm包安装 .必须更改PATH环境变量的配置文件 yum不用 --源码安装必须更改PATH
vim /etc/profile--在文件末尾添加
export JAVA_HOME=/usr/java/default --需要查看到jdk安装路径
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
source /etc/profile--读取PATH应用变量
5.)tomcat 安装
下载tomcat可使用wget url 获取都tomcat安装包
1.)解压安装tomcat 创建软件包目录 创建tomcat系统账号
tar xvfz apache-tomcat-8.5.33.tar.gz--解压软件包
mkdir -p /usr/tomcat--创建软件包目录
mv ./apache-tomcat-8.5.33/* /usr/tomcat/ --把解压的tomcat放置到这个目录下
useradd -M -d /usr/tomcat tomcat--创建系统账号 tomcat用户 d指定原有目录为家目录 -M不创建家目录
chown -R tomcat /usr/tomcat--修改用户家目录属主属组
2.)未配置的 tomcat启动和停止 服务 查看端口 进程
cd /usr/tomcat/bin
./startup.sh--启动程序 运行命令 ,启动tomcat
./shutdown.sh --停止程序 运行命令 ,停止tomcat
netstat -antulp | grep :8080--查看服务端口
ps aux | grep tomcat--查看进程
3.)设置 开机启动tomcat vim /etc/rc.local
echo "/usr/tomcat/bin/startup.sh“ >> /etc/rc.local ---设置开机自启动
vim /etc/rc.local--查看是否写入
chmod a+x /etc/rc.local --增加执行权限
可以直接启动停止
4.)编写tomcat服务启停脚本 的配置文件 或者写到PATH环境变量中
1.写tomcat的服务启停脚本
vim /usr/lib/systemd/system/tomcat.service--新建tomcat服务端启停脚本
将其内容写入
[Unit]
Description=Apache Tomcat 8
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/tomcat/bin/startup.sh--启动 停止
ExecStop=/usr/tomcat/bin/shutdown.sh --程序所在的目录
RemainAfterExit=yes
User=tomcat--系统账号用户和组
Group=tomcat--记得更改拥有者
[Install]
WantedBy=multi-user.target
5.)或者将启停服务 写到PATH环境中 可以tab出来 修改拥有者
echo "/usr/tomcat/bin/” >> /etc/profile--追加到PATH环境中
vim /etc/profile
export PATH=$PATH:/usr/tomcat/bin/--设置可以TAB出来
source /etc/profile--读取刷新PATH
chown -R tomcat /usr/tomcat--修改/usr/tomcat的拥有者为 tomcat
systemctl start tomcat--启动服务
systemctl enable tomcat--设置开机启动
netstat -antulp | grep:8080--查看端口
测试tomcat是否安装成功:
本地物理机浏览器浏览:http://服务器IP:8080如果出现测试页,
代表tomcat安装成功
6.)Tomcat 目录结构说明
cd /usr/tomcat/
bin:脚本文件存放目录
conf:配置文件存放目录
lib:Tomcat运行依赖的jar文件存放目录 java函数库
logs:日志文件存放目录
temp:临时文件存放目录
webapps:应用程序默认网页部署根目录,每个文件夹都是一个网站项目,其中ROOT是一个特殊的项目,在地址栏中没有给出项目名时,对应的就是ROOT项目
work:工作目录,编译后的文件都存放在此目录中,清空work目录,重启Tomcat,可以达到清除缓存的作用
1.)conf目录下的配置文件说明
server.xml主配置文件
tomcat-users.xml用户认证的账号密码、管理身份验证以及访问控制权限的配置文件
logging.properties日志相关的配置信息
context.xml所有应用程序的默认配置 网页
catalina.policy当使用-security选项启动Tomcat实例时会读取此配置文件来实现其安全运行策略
catalina.propertiesJava属性定义文件,用于设定类加载器路径以及一些JVM性能相关的调优参数
JVM 是java的虚拟机
web.xml全局的web应用程序部署描述文件,可以设置Tomcat支持的文件类型,用于为所有的webapp提供默认部署相关配置
2.)server.xml配置文件的层次结构
Server顶级组件,代表一个Tomcat实例 所有属性由server来定义
Service将Connector关联至Engine的组件,1个Service只能包含1个Engine组件和1个或多个Connector组件
Connector连接器 接收并解析处理用户请求,将请求映射为Engine中运行的代码,之后将运行结果构建成响应报文 (接受处理用户请求 映射成engine运行的代码 将运行结果封装成报文 返回给客户)
Engine处理请求的Servlet引擎组件,即Catalina Servlet引擎,检查每一个请求的HTTP首部信息以辨别此请求应该发往哪个Host或Context路径(请求的uir),并将请求处理后的结果返回给相应的客户端
#即客户端把请求发送给connector 然后把请求转给engine engine处理 把请求转给host或者 context 并将请求处理后的结果返回给相应的客户端
Host 类似httpd中的虚拟主机 有多少网站就有多少host虚拟主机
Context 指定web应用程序的网页根目录,以便Servlet容器能够将用户请求发往正确的位置(网页根目录)
Valve 用来拦截请求并在将其转至目标之前进行某种处理操作
Logger 用于记录内部组件的状态信息,可被用于除Context之外的任何容器中
Realm 用于用户的认证和授权,在配置一个应用程序时,管理员可以为每个资源或资源组定义角色及权限,而访问控制功能的生效需要通过Realm来实现
3.)server.xml中容器类 host
Host容器用来定义虚拟主机
name:虚拟主机的主机名,忽略大小写(初始化时会自动转换为小写)
appBase:此Host的webapps目录,即webapp部署在此虚拟主机上时的存放目录
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
....
</Host>
localhost" 网站名
appBase="webapps” 这个网站根目录 即默认网页根目录 安装tomcat的地方 绝对路径更好
prefix="localhost_access_log" suffix=".txt" 日志文件
pattern="%h %l %u %t "%r" %s %b" /> 记录 时间 用户等信息
7.)增加一个虚拟主机 通过host来定义虚拟主机
1.)更改tomcat配置监听端口
配置Tomcat 监听端口为80编辑tomcat的主配置文件
vim /usr/tomcat/conf/server.xml
Connector port="80" 修改端口号为80
2.)修改配置文件增加虚拟主机
一个context代表一个webapp,相当于nginx的location容器, path就相当于location的path
创建两个虚拟主机
vim /usr/tomcat/conf/server.xml--修改主配置文件
<Host name=“web.ujiuye.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="ROOT"/>
<Context path="/bbs" docBase="web/bbs" reloadable="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="bbs_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="www.ujiuye.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="ROOT"/>
<Context path="/www" docBase="web/www" reloadable="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="www_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="www.ujiuye.com 指定网站名称 解析也可写
appBase="webapps"这个网站根目录即默认网页根目录/usr/tomcat/webapps 绝对路径<Context path="" docBase="ROOT"/ > 访问这个网站 会显示webapps的内容网页
Path 空 相当于location /Root / 指定的网页目录 都在appBase指定的webapps中
<Context path="/bbs" docBase="web/bbs" reloadable="true"/> 网页资源bbs 在web bbs下
访问/bss 网页根路径在/usr/tomcat/webapps/web/bbs 中 首页在bbs目录中
3.增加测试页www 和web 增加解析
编写创建tomcat默认网页测试主页
mkdir /usr/tomcat/webapps/web/www创建测试目录www
mkdir /usr/tomcat/webapps/web/bbs创建测试目录bbs
cd /usr/tomcat/webapps/web/www在两个目录下各写一个测试网页
vim index.jsp
<%@ page contentType="text/html" %>
<html>
<body>
HELLO www !
</body>
</html>
4.要修改tomcat服务端 和客户端的解析 vim /etc/hosts解析文件
vim /etc/hosts--增加解析
192.168.20.100 web.ujiuye.com
192.168.20.100 www.ujiuye.com
5.)重启tomcat验证 查看端口 进程服务
shutdown.sh 停止
startup.sh 启动
netstat -antulp | grep :80查看80端口
ps aux | grep tomcat查看进程状态
6.)虚拟机浏览器测试 查看日志 windows做解析
http://www.ujiuye.com/
注意:测试tomcat,要用域名:web.ujiuye.com、www.ujiuye.com,
cd /usr/tomcat/logs/
tail web_access_log.2019-11-19.txt
Windows做解析
C:\Windows\System32\drivers\etc 文件位置
8.)在nginx中配置动静分离
在nginx中
vim / etc/hosts做网站解析
192.168.20.100 web.ujiuye.com
vim /etc/nginx/nginx.conf更改主配置文件当访问 结尾为jsp 转发给web.ujiuye.com
Location ~ \.jsp$ {
proxy_pass http://web.ujiuye.com:80;
}
访问测试:http://web.ujiuye.com/bbs/index.jsp