jakarta-ee - 如何将war文件部署到cPanel中并删除项目名称?

标签 jakarta-ee tomcat spring-mvc struts2 cpanel

我需要在 cPanel 上运行我的 Java 应用程序。我已经成功安装了Tomcat,

我可以通过将 war 文件复制到我的 www 文件夹来运行我的应用程序,但问题是它显示了项目名称(war 文件name) 在地址中,我需要知道如何删除它,以便用户可以访问 www.example.com 而不是 www.example.com/MyProject/index.jsp?

最佳答案

根据 one cpanel hosting service出于安全原因,cpanel 的命令提示符访问通常是关闭的,您必须特别提出要求。如果您拥有此访问权限,则可以登录并运行解压缩命令(在使用 FileZilla 或类似工具上传 war 文件后)。

根据 cpanel如果你没有命令提示符访问权限,你可以将 war 上传到你的 public_html 目录,但在这样做之前你需要更改 apache 配置并为此添加一个“JkMount”(参见下面是“appname”)。

<IfModule mod_jk.c>
  JkMount /*.jsp ajp13
  JkMount /servlet/* ajp13
  JkMount /servlets/* ajp13
  JkMount /*.do ajp13
  JkMount /appname/* ajp13
</IfModule>

当然,除非您输入“您的应用程序名称”而不是应用程序名称。此更改将指示 apache 将对顶级 url(即 mydomain.com/appname)的调用重定向到您的 Tomcat 实例(即 mydomain.com:8080/appname)。上传 war 并更改配置后,您必须重新启动 apache。

但是我们说我们没有 ssh 访问权限,那么我们如何修改该文件。根据 this forum我们可以编辑/home/username/public_html/.htaccess 或只是/public_html/.htaccess 并添加这些行:

SetHandler jakarta-servlet
SetEnv JK_WORKER_NAME ajp13

现在,apache 将重定向到 mydomain.com/appname 而不是 mydomain.com:8080/appname 的 tomcat。我们如何让它从 mydomain.com 开始工作?我根本不知道这个问题的答案。据我所知,使用将 war 文件更改为 ROOT.war 的常用技巧在 cpanel 中不起作用。

关于jakarta-ee - 如何将war文件部署到cPanel中并删除项目名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15728330/

相关文章:

java - 如果columnNames和fieldNames不同,如何使用java Reflection将POJO与数据库ResultSet映射?

java - 在 JSP 中创建动态框架

java - 如何使 Tomcat 快速加载更改以加快 Java Web 开发速度

java - Spring Controller 总是生成json

java - hibernate 加载时间很长(我认为 hibernate 加载所有项目)

java : append data in existing file

JavaServlet : How to instantiate thread and receive messages

jquery - 从 Javascript 调用 Grails def

java - 在 Eclipse 控制台查看远程 Tomcat 日志

javascript - 如何在 Spring MVC 应用程序中使用 Jquery 发送多个参数 Ajax 请求。?