POC环境要在一台服务器上部署多个tomcat,第一个tomcat可以默认安装,不需要任何修改,第二个及其他tomcat要运行就要修改端口了
修改tomcat的三个端口
为了运行多个tomcat,添加一个tomcat在默认端口的基础上加100,第二个tomcat在默认端口上加200,依次类推。一台服务器上端口不能重复,否则会报错。
8005
shutdown端口,默认8005,主要负责启动关闭。
<Server port="8105" shutdown="SHUTDOWN">
8009
ajp端口,默认8009,主要负责通过ajp均衡 (常用于apache和tomcat整合)
<Connector port="8109" protocol="AJP/1.3" redirectPort="8443" />
8080
http端口,默认8080,主要通过web页面直接访问(nginx+tomcata整合),编码UTF-8
<Connector port="8180" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
配置Host和Context
Host
对一个Tomcat,可以配置多台虚拟主机,简单来说,就是让一台服务器可以对应多个主机名,这在Tomcat中称为Host,要求每个Host的Name必须唯一。
编辑配置文件
vi $CATALINA_HOME/conf/server.xml
添加如下内容
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
</Host>
说明
- appBase指定了该虚拟主机上应用的部署位置,一般写相对于CATALINA_HOME的相对路径即可
Context
在一个Host上,可以部署多个应用。每个应用都有不同的Context Path,Context Path会出现在用户访问该应用的URL中,如下所示:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context docBase="ROOT" path="/admin" reloadable="true"></Context>
<Context docBase="xxx-web" path="" reloadable="true"></Context>
<Context docBase="/root/app/www_xxx" path="/xxx" reloadable="false" />
</Host>
说明
path
须为空 或以/
开头且不以/
结束- 如果Tomcat绑定的端口为8080,则访问
http://localhost:8080
即可访问项目xxx-web - 访问
http://localhost:8080/admin
即可访问项目ROOT - 当未给Host配置Context时,Tomcat默认把ROOT项目作为Root Context,即访问
http://localhost:8080
就访问ROOT项目 - 当给Host配置Context时,如果
path=""
或path="/"
,则相当于将此Context指定为Root Context