Tomcat 7: 在 webapp 的子目录中部署一个 war 文件
Tomcat 7: Deploy a war file inside sub directory of webapp
如果我们将 war
文件放在 tomcat 的 webapps
文件夹中,那么它会在我们启动服务器时部署它,但当我们将 war
文件位于 webapps
的子文件夹中。
有什么方法可以在 webapps
的子目录中实现此部署过程?
我们可以在 TOMCAT_HOME/conf/server.xml
.
中更改 war 部署路径(应用程序基目录)
<Host name="localhost" appBase="webapps\your_directory"
unpackWARs="true" autoDeploy="true">
在使用自动部署时,如果您希望在 server.com/path/app
访问您的应用程序,您可以通过将 war 文件命名为“path#app.war
”然后将其放入 webapps 来实现此目的目录。
在自动部署期间,将在“${CATALINA_HOME}/webapps/
”下创建一个名为“path#app
”的目录,您的应用程序将可以在所需的 URL 路径中访问。
您也可以选择将其保留在原处并指示 Tomcat 前面的反向代理进行重定位,如果反向代理是 Apache HTTPD,则使用 ProxyPass /path/app http://tomcat-server/app
ProxyPassReverse /path/app http://tomcat-server/app
规则。 ProxyPass/ProxyPassReverse 可参考 here.
如果我们将 war
文件放在 tomcat 的 webapps
文件夹中,那么它会在我们启动服务器时部署它,但当我们将 war
文件位于 webapps
的子文件夹中。
有什么方法可以在 webapps
的子目录中实现此部署过程?
我们可以在 TOMCAT_HOME/conf/server.xml
.
<Host name="localhost" appBase="webapps\your_directory"
unpackWARs="true" autoDeploy="true">
在使用自动部署时,如果您希望在 server.com/path/app
访问您的应用程序,您可以通过将 war 文件命名为“path#app.war
”然后将其放入 webapps 来实现此目的目录。
在自动部署期间,将在“${CATALINA_HOME}/webapps/
”下创建一个名为“path#app
”的目录,您的应用程序将可以在所需的 URL 路径中访问。
您也可以选择将其保留在原处并指示 Tomcat 前面的反向代理进行重定位,如果反向代理是 Apache HTTPD,则使用 ProxyPass /path/app http://tomcat-server/app
ProxyPassReverse /path/app http://tomcat-server/app
规则。 ProxyPass/ProxyPassReverse 可参考 here.