使用Tomcat部署虚拟机
Tomcat部署安装:
https://blog.csdn.net/qq_44424791/article/details/102732007
配置服务器虚拟主机
-
修改Tomcat的server.xml配置文件,创建两个域名的虚拟主机,修改如下两个参数块
]# 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>
-
创建虚拟主机对应的页面根路径
]# mkdir -p /usr/local/tomcat/{a,b}/ROOT //创建web两个目录(a,b) ]# echo "AAA" > /usr/local/tomcat/a/ROOT/index.html //把AAA写入a目录下的主页文件 ]# echo "BBB" > /usr/local/tomcat/b/ROOT/index.html //把BBB写入b目录下的主页文件
-
重启Tomcat服务器
]# /usr/local/tomcat/bin/shutdown.sh ]# /usr/local/tomcat/bin/startup.sh
-
客户端设置host文件,并浏览测试页面进行测试
]# vim /etc/hosts … … 192.168.2.100 www.a.com www.b.com ]# firefox http://www.a.com:8080/ //注意访问的端口为8080 ]# firefox http://www.b.com:8080/
修改www.b.com网站的首页目录为base
-
使用docBase参数可以修改默认网站首页路径
]# 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"> <Context path="" docBase="base"/> </Host> … … ]# mkdir /usr/local/tomcat/b/base ]# echo "BASE" > /usr/local/tomcat/b/base/index.html ]# /usr/local/tomcat/bin/shutdown.sh ]# /usr/local/tomcat/bin/startup.sh
-
测试查看页面是否正确
]# firefox http://www.b.com:8080/ //结果为base目录下的页面内容
跳转
-
当用户访问http://www.a.com/test打开/var/www/html目录下的页面
]# 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> … … ]# echo "Test" > /var/www/html/index.html ]# /usr/local/tomcat/bin/shutdown.sh ]# /usr/local/tomcat/bin/startup.sh
-
测试查看页面是否正确
]# firefox http://www.a.com:8080/test //返回/var/www/html/index.html的内容 //注意,访问的端口为8080
配置Tomcat支持SSL加密网站
-
创建加密用的私钥和证书文件
]# keytool -genkeypair -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/keystore //提示输入密码为:123456 //-genkeypair 生成密钥对 //-alias tomcat 密钥别名 //-keyalg RSA 定义密钥算法为RSA算法 //-keystore 定义密钥文件存储在:/usr/local/tomcat/keystore
-
再次修改server.xml配置文件,创建支持加密连接的Connector
]# 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被注释掉了,打开注释,添加密钥信息即可
-
重启Tomcat服务器
]# /usr/local/tomcat/bin/shutdown.sh ]# /usr/local/tomcat/bin/startup.sh
-
客户端设置host文件,并浏览测试页面进行测试
]# vim /etc/hosts … … 192.168.2.100 www.a.com www.b.com ]# firefox https://www.a.com:8443/ ]# firefox https://www.b.com:8443/ ]# firefox https://192.168.2.100:8443/
配置Tomcat日志
-
为每个虚拟主机设置不同的日志文件
]# 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服务器
]# /usr/local/tomcat/bin/shutdown.sh ]# /usr/local/tomcat/bin/startup.sh
-
查看服务器日志文件
]# ls /usr/local/tomcat/logs/