我在运行 Ubuntu 18.04.3 的 Digital Ocean droplet 上安装了 Tomcat 9.0.27。我在 Tomcat 上部署了 Java WAR,并能够在 URL 上访问它:
http://example.com:8080/app_name
我希望能够通过我的域直接访问我的 WAR 服务 JSP。因此,当我点击example.com
它时,它会直接为我的 Java 应用程序提供服务。
我尝试了几个链接来做同样的事情。根据其中一个链接(https://www.digitalocean.com/community/questions/how-to-tie-domain-name-with-application-running-on-tomcat),我执行了以下步骤:
1. 使用 启用“proxy”和“proxy_http” a2enmod
2. 使用 重新启动 Apache2 服务systemctl restart
3. 在名为 /etc/apache2/sites-available/tomcat.conf 的文件中创建一个新的虚拟主机,内容如下:
<VirtualHost *:80>
ServerName www.example.com
ProxyRequests On
ProxyPass / http://localhost:8080/app_name/
ProxyPassReverse / http://localhost:8080/app_name/
</VirtualHost>
- 使用 a2ensite 启用“tomcat”站点
- 使用以下方法重新启动 Apache2 服务
systemctl restart
现在,当我点击example.com
它时,它确实为我的主页提供服务,但所有 CSS 样式和图像似乎都坏了。超链接也不再起作用。我的应用程序仍在example.com:8080/app_name
此 URL 上提供服务,并且一切正常。
这个你能帮我吗。
答案1
将我的 WAR 作为 ROOT.war 部署在 /opt/tomcat/webapps/ 目录中。
其他答案/建议均无效。