Tomcat服务器的部署
首先,什么是Tomcat服务器
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选.
Tomcat是一个JSP/Servlet容器。其作为Servlet容器,有三种工作模式:独立的Servlet容器、进程内的Servlet容器和进程外的Servlet容器。
Tomcat目录:
tomcat
|—bin:存放启动和关闭tomcat脚本
|—conf:存放不同的配置文件(server.xml和web.xml);
|—doc:存放Tomcat文档;
|—lib/japser/common:存放Tomcat运行需要的库文件(JARS);
|—logs:存放Tomcat执行时的LOG文件;
|—src:存放Tomcat的源代码;
|—webapps:Tomcat的主要Web发布目录(包括应用程序示例);
|—work:存放jsp编译后产生的class文件;
部署环境
RHEL7虚拟机,其中一台作为Tomcat服务器(192.168.2.100)、另外一台作为测试用的Linux客户机(192.168.2.5)
一:部署Tomcat服务器软件(192.168.2.100/24)
由于Tomcat软件包是用java语言编写,所以需要先安装一个 JDK软件包,为安装Tomcat服务器创造一个环境
(一). 安装Tomcat软件包
1)使用RPM安装JDK环境
2)安装Tomcat(在这里我以 apache-tomcat-8.0.30.tar.gz软件包为例)
[root@web1 ~]# yum -y install java-1.8.0-openjdk //安装JDK
[root@web1 ~]# java -version //查看JAVA版本
[root@web1 ~]# tar -xf apache-tomcat-8.0.30.tar.gz
[root@web1 ~]# mv apache-tomcat-8.0.30 /usr/local/tomcat
[root@web1 ~]# ls /usr/local/tomcat
3)启动服务
[root@web1 ~]# /usr/local/tomcat/bin/startup.sh
4)服务器验证端口信息
[root@web1 ~]# netstat -nutlp |grep java //查看java监听的端口
tcp 0 0 :::8080 :::* LISTEN 2778/java
tcp 0 0 :::8009 :::* LISTEN 2778/java
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 2778/java
5)客户端浏览测试页面(proxy作为客户端)
[root@proxy ~]# firefox http://192.168.2.100:8080
建议: 每修改一次配置文件,测试一下服务是否能起
(二):修改Tomcat配置文件
1)创建测试JSP页面
前面已经说了在Tomcat配置文件中webapps为web页面发布目录
所以创建路径为
[root@web1 ~]# vim /usr/local/tomcat/webapps/ROOT/test.jsp
<html>
<body>
<center>
Now time is: <%=new java.util.Date()%> //显示服务器当前时间
</center>
</body>
</html>
(三):验证测试
客户端浏览测试页面(proxy充当客户端角色)
[root@proxy ~]# firefox http://192.168.2.100:8080
[root@proxy ~]# firefox http://192.168.2.100:8080/test.jsp
(二)使用Tomcat部署虚拟主机
使用Tomcat部署加密虚拟主机,实现以下要求:
实现两个基于域名的虚拟主机,域名分别为:www.a.com和 www.b.com
使用www.a.com域名访问的页面根路径为/usr/local/tomcat/a/ROOT
使用www.b.com域名访问的页面根路径为/usr/local/tomcat/b/base
访问www.a.com/test时,页面自动跳转到/var/www/html目录下的页面
访问页面时支持SSL加密通讯
私钥、证书存储路径为/usr/local/tomcat/conf/cert
每个虚拟主机都拥有独立的访问日志文件
配置tomcat集群环境
一:配置服务器虚拟主机
1)修改server.xml配置文件,创建虚拟主机
注意:在修改配置文件时,以host开头应当以/host结尾
[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml
<Host name="www.a.com" appBase="a" unpackWARS="true" autoDeploy="true">
</Host>
<Host name="www.b.com" appBase="b" unpackWARS="true" autoDeploy="true">
</Host>
注意 : 1.由于Tomcat是java所编写,所以在修改配置文件是应当严格区分大小写
2.文件夹"a,b"在/usr/local/tomcat/ 下,由于a,b两个文件夹为新建web目录,应当在目录下创建ROOT目录,启动web页面服务将会失败
2)创建虚拟主机对应的页面根路径
[root@web1 ~]# mkdir -p /usr/local/tomcat/{a,b}/ROOT
[root@web1 ~]# echo "AAA" > /usr/local/tomcat/a/ROOT/index.html
[root@web1 ~]# echo "BBB" > /usr/local/tomcat/b/ROOT/index.html
3)重启Tomcat服务器
[root@web1 ~]# /usr/local/tomcat/bin/startup.sh
4)客户端设置host文件,并浏览测试页面进行测试(proxy充当客户端角色)
由于虚拟机没自带域名解析功能,所以需要手动配置域名解析
[root@proxy ~]# vim /etc/hosts
… …
192.168.2.100 www.a.com www.b.com
[root@proxy ~]# firefox http://www.a.com:8080/ //注意访问的端口为8080
[root@proxy ~]# firefox http://www.b.com:8080/
二:跳转
1)当用户访问http://www.a.com/test打开/var/www/html目录下的页面
[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml
… …
<Host name="www.a.com" appBase="a" unpackWARS="true" autoDeploy="true">
<Context path="/test" docBase="/var/www/html/" />
</Host>
<Host name="www.b.com" appBase="b" unpackWARS="true" autoDeploy="true">
<Context path="" docBase="base" />
</Host>
… …
[root@web1 ~]# echo "Test" > /var/www/html/index.html
[root@web1 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@web1 ~]# /usr/local/tomcat/bin/startup.sh
三:配置Tomcat支持SSL加密网站
1)创建加密用的私钥和证书文件
[root@web1 ~]# keytool -genkeypair -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/keystore
2)再次修改server.xml配置文件,创建支持加密连接的Connector
[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml
… …
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="/usr/local/tomcat/keystore" keystorePass="123456" clientAuth="false" sslProtocol="TLS" />
//备注,默认这段Connector被注释掉了,打开注释,添加密钥信息即可
3)客户端设置host文件,并浏览测试页面进行测试(proxy充当客户端角色)
[root@proxy ~]# vim /etc/hosts
… …
192.168.2.100 www.a.com www.b.com
[root@proxy ~]# firefox https://www.a.com:8443/
[root@proxy ~]# firefox https://www.b.com:8443/
[root@proxy ~]# firefox https://192.168.2.100:8443/
四:配置Tomcat日志
[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml
.. ..
<Host name="www.a.com" appBase="a" unpackWARS="true" autoDeploy="true">
<Context path="/test" docBase="/var/www/html/" />
#从默认localhost虚拟主机中把Valve这段复制过来,适当修改下即可
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="a_access" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="www.b.com" appBase="b" unpackWARS="true" autoDeploy="true">
<Context path="" docBase="base" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="b_access" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
.. ..
以上是个人对Tomcat服务器的了解.