Tomcat:如何在一个Tomcat中部署不同端口的多个网站项目
原创
©著作权归作者所有:来自51CTO博客作者奋斗咸鱼的原创作品,请联系作者获取转载授权,否则将追究法律责任
单个网站xml文件方式部署
微软的IIS中可以部署多个独立的网站(不是虚拟目录),每个网站对应独立端口,独立运行,互不影响。如下
而Tomcat中默认是将网站项目部署到webapps目录下,或在conf\Catalina\localhost下添加网站配置xml文件如wxweb.xml,映射到网站目录。
访问地址是http://localhost:8080/wxweb/test.html 其中wxweb是网站项目名称。这样的设置是以虚拟目录方式部署,所有网站项目都在一个端口(默认8080)下。
wxweb.xml文件内容如下
<Context path="/wxweb" docBase="D:\mywork\Wechat\wxweb"/>
以上网站部署完成。
不同端口多个网站部署
如果想像IIS那样使用不同端口,可以做以下设置。
在conf目录下的server.xml中,添加新的<Service >节点
<Service name="Catalina">
...
</Service>
<!-- 新服务端口设置 -->
<Service name="Catalina2">
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="60000" maxThreads="450" redirectPort="8443" URIEncoding="UTF-8"/>
<Connector port="28014" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<!-- 网站项目位置 -->
<Context path="" docBase="E:\mywork\MySvn\Wechat\WechatWebV3.0\wxweb" reloadable="true" />
</Host>
</Engine>
</Service>
设置完重启Tomcat,现在可以使用8081来访问新网站,原8080端口下的网站也能正常访问。