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/15038252/

相关文章:

spring - 如何使用 AuthorizationServerSecurityConfigurer?

java - spring mvc文件上传在gradle中不起作用

java - 关联 JMS 消息的计划重试

java - 如何通过 java 中的 http 响应 header 防止 Internet Explorer 9 中的缓存?

jakarta-ee - 焊缝双射和焊接

java - 在 GWT 应用程序中捕获 ctrl-z(撤消)和 ctrl-y(重做)

java.lang.NoClassDefFoundError : Could not initialize class org. aspectj.weaver.reflect.ReflectionWorld 错误

spring - 在 Tomcat 上的 Eclipse 中使用带有 Hibernate 5 和 Spring 4 的实用程序模块部署复合项目失败

java - 关于 websocket 的说明

spring - 无法写入 HTTP 消息 : org. springframework.http.converter.HttpMessageNotWritableException:找不到类型返回值的转换器: