我在tomcat上运行了3个虚拟主机
abc.domain.com
def.domain.com
ghi.domain.com
更新一个应用程序时,必须重新启动tomcat服务(我运行./shutdown.sh
和./startup.sh
脚本)。
当我使用Tomcat Web应用程序管理器时,想要重新声明它。当我在浏览器中调用应用程序时,我停止了其中一个应用程序,它仍然可以正常工作。
在localhost上,我使用了这些方法(认为是Tomcat Web应用程序管理器)来重新启动应用程序,并且该程序可以运行(没有虚拟主机)。
localhost:8080/abc
localhost:8080/def
localhost:8080/ghi
有人知道,如何在不重新启动tomcat服务的情况下重新启动应用程序? 我的目的是我不想打扰其他应用程序。
谢谢
在server.xml
文件中
<Host name="abc.domain.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="/tomcat/webapps/abc"
debug="0" reloadable="true"/>
</Host>
<Host name="def.domain.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="/tomcat/webapps/def"
debug="0" reloadable="true"/>
</Host>
<Host name="ghi.domain.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="/tomcat/webapps/ghi"
debug="0" reloadable="true"/>
</Host>`
答案 0 :(得分:0)
因此,我以某种方式在tomcat文档中找到了解决方案。
https://tomcat.apache.org/tomcat-9.0-doc/virtual-hosting-howto.html#server.xml
请注意,每个主机在appBase下的目录结构不应相互重叠。
因此,我需要从
编辑server.xml
<Host name="abc.domain.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="/tomcat/webapps/abc"
debug="0" reloadable="true"/>
</Host>
到
<Host name="abc.domain.com" appBase="abc" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="xyz"
debug="0" reloadable="true"/>
</Host>
<Host name="def.domain.com" appBase="def"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="klm"
debug="0" reloadable="true"/>
</Host>
然后转到Tomcat Virtual Host Manager来停止并启动虚拟主机
我希望它能提供帮助。