Nginx+Tomcat多站点访问默认主页问题-狒狒完美解决-Q9715234

时间:2021-09-23 23:03:28
 <Engine name="Catalina" defaultHost="www.abc.com">
<Host name="www.abc.com" appBase="/home/www/abc"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<context path="" docBase="/home/www/abc" debug="0" reloadable="true"></context>
</Host>
<Host name="www.abd.com" appBase="/home/www/abd"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<context path="" docBase="/home/www/abd" debug="0" reloadable="true"></context>
</Host>
</Engine>
Engine 的 dafaultHost :表示访问该tomcat默认进入的主机,注意一定不能是localhost,不然别人通过你的ip访问,就会默认进入tomcat的管理界面。
Host 的 name:表示该主机绑定的域名,如果绑定localhost则可以通过在浏览器中输入localhost访问该Host。
Host的 appBase:表示该主机绑定的文件存放路径,可以使用相对路径或绝对路径。
注意:Host的appBase这里必须写绝对路径,即跟context的docBase路径一致,否则访问指定域名时访问不了配置的站点的主页。把项目相关文件放入到你配置context的docBase路径的ROOT文件夹里。

需要注意的地方:root 的值是对应上面Tomcat配置文件中context的docBase值+/ROOT,Tomcat根据server.xml的host的appBase设置,默认访问此appBase的ROOT文件夹里的设置的默认主页,因此我们把项目文件都放在context的docBase的ROOT文件夹中。

注意以上几个细节,那就实现访问各个站点的默认主页了,不再转向Tomcat的主页