我在三个版本的tomcat上运行了三个web应用程序,如下所示:
有Windows Server 2012。 我想在上面的所有tomcat上使用端口80,用户可以看到没有端口号的app1domain.com
我可以安装其他tomcat,我想为每个tomcat使用虚拟主机
是否有任何软件或解决方案可以做到这一点?
答案 0 :(得分:0)
使用nginx,易于使用和免费作为代理软件来管理应用程序和Web服务器。 首先,您可以在tomcat server.xml中配置tomcats
<!-- Tomcat listen on 8080 -->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
<!-- dont change the code up -->
<!-- Set /apple as default path -->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="apple">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
</Host>
在Nginx中,编辑/ etc / nginx / sites-enabled / default,放入以下内容: 的/ etc / nginx的/ /默认启用位点-
server {
listen 80;
server_name yourdomain.com;
root /etc/tomcat7/webapps/apple;
proxy_cache one;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/;
}
}
它告诉Nginx将端口80上的流量从端口80重定向到Apache Tomcat。完成后,重新启动Nginx。