java - 使用 Tomcat 7 在 Cpanel 服务器中部署 java war 文件的问题

标签 java tomcat tomcat7 war cpanel

在 Cpanel/WHM 服务器中部署 Tomcat 的问题。

我试图在 Cpanel 服务器中部署多个 java war 文件,但遇到了很多问题。我搜索了很多文章并尝试实现它,但没有成功。请看下面。

  1. 您要部署 java war 文件的确切位置。是 /home/user/public_html 还是 /usr/local/easy/share/easy-tomcat7/webapps

  2. 对我而言,我已将 war 文件部署在 /usr/local/easy/share/easy-tomcat7/webapps 目录中。我们已将 war 文件放在此位置并从 WHM 重新启动 tomcat,该文件已自动部署。这是我们应该做的吗?

  3. 我能够部署单个 war 文件,并且在 server.xml 文件中将端口从 8080 更改为 80,并且工作正常。但是当我尝试部署多个 war 文件时,它会导致问题。请让我知道我们需要在 Cpanel 服务器中部署多个 war 文件?

  4. 此外,部署 war 文件后,我们对目录内的文件进行了少量代码更改,以将路径从本地路径更改为服务器路径。但是每次 tomcat 重新启动时都会部署 war 文件。

war文件早前部署在tomcat 5.5版本,现在尝试部署在tomcat 7,我们已经停止了服务器上的httpd服务,tomcat监听80端口。同样在 catalina.out 文件中没有显示任何特定错误,因为它提到每个东西都已加载。请让我知道我们需要如何处理上述步骤,以便我继续下一步。提前致谢。

最佳答案

这是您要部署 java war 文件的确切位置。是/home/user/public_html 还是/usr/local/easy/share/easy-tomcat7/webapps。

回答:正确的位置是/usr/local/easy/share/easy-tomcat7/webapps。另一个位置是“Apache HTTP Server”,它支持 php html 等。

2.对于我来说,我已经将 war 文件部署在/usr/local/easy/share/easy-tomcat7/webapps 目录中。我们已将 war 文件放在此位置并从 WHM 重新启动 tomcat,该文件已自动部署。这是我们应该做的吗?

您始终可以热部署。意味着不需要重新启动。在 server.xml 中的 Host 元素上设置 autoDeploy="true"。根据我的经验,我更喜欢在部署后重新启动 tomcat。

3.我能够部署单个 war 文件,并且在 server.xml 文件中将端口从 8080 更改为 80,并且工作正常。但是当我尝试部署多个 war 文件时,它会导致问题。请让我知道我们需要在 Cpanel 服务器中部署多个 war 文件?

Ans 默认情况下,apache HTTP 网络服务器使用端口 80。因此,如果您将 tomcat 端口更改为 80,请确保将 apache HTTP 服务器端口更改为其他端口。更改 Apache tomcat 的端口也不利于安全性。检查谷歌为什么。通常的做法是将 apache HTTP 服务器作为代理运行,并将 jsp 请求从 apache 转发到 Tomcat。这需要一些服务器管理技能。

  1. 此外,部署 war 文件后,我们对目录内的文件进行了少量代码更改,以将路径从本地路径更改为服务器路径。但是每次 tomcat 重新启动时都会部署 war 文件。

不太清楚你的意思。但是如果自动部署开启,一些更改会自动更新。我一般会down tomcat。删除以前的 war 文件并删除提取的文件夹,然后重新部署新更改的 war 文件。对我来说就像在我工作的环境中一样,几分钟的停机时间就可以了。根据您的要求更改步骤。 无需停止 http 服务。只需将http服务的端口更改为80以外的端口即可。tomcat将在80端口上工作。

我给你的建议是遵循这些步骤

  1. 首先确保您的应用在本地主机或本地计算机上正常运行。

  2. 如果它在本地主机上工作并且服务器中有任何错误。检查两台机器上的 tomcat 版本,看看这是否是您的目标。

  3. 确保 tomcat 在服务器上正常工作。检查它是否正在监听端口 8080(默认)。然后将 example.war 文件上传到 webapps 文件夹。重启tomcat。

  4. 等待两分钟。通过链接 www.yourdomainname.com:8080/example 检查您的 example.war 是否正常工作。

  5. 如果它不工作,调试错误并解决它。 (此步骤被认为是安全的不良做法。只是将其作为测试步骤提及)如果工作,则可以尝试将 apache http 服务器的端口从 80 更改为其他端口(确保端口未使用)。然后将 tomcat 的端口更改为 80。然后将您的示例 example.war 重命名为 webapp 内的 ROOT.war。删除以前退出的 ROOT 目录。重新启动 apache http 服务器,然后启动 tomcat。查看 tomcat 是否正在监听端口 80,然后尝试您的应用程序是否可以从 www.yourdomainname.com 运行。如果是,那就很好。

  6. 现在我们需要回顾之前的步骤,因为在端口 80 上运行 tomcat 被认为不利于安全。如果在您部署的环境中没有问题,那么您可以使用此设置。正确的正常做法是将 Apache HTTp 服务器放在端口 80 上:配置 apache http 服务器以将 .jsp 请求重定向到端口 8080 上的 apache tomcat。将 tomcat 端口设置为 8080。但这需要一些系统管理员专业知识。

关于java - 使用 Tomcat 7 在 Cpanel 服务器中部署 java war 文件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29484164/

相关文章:

jsp - Tomcat中有没有目录权限设置来防止jsp运行?

tomcat - 如何配置 grails 应用程序以将日志、堆栈跟踪和错误写入特定文件

java.net.SocketException : Connection reset on Tomcat Only

java - 如何强制Eclipse使用maven进行自动构建

java - XML 属性在 *value* 中带有前缀 - 如何判断它是命名空间前缀?

java - 如何在 JavaFX 中设置应用程序安装程序图标?

java - 更改 Web 服务中的日期格式

java - 为多个客户端保持 JWT 分离的更好方法

java - 如何与 CA 连接以签署 ssl 证书?

Java servlet : Setting HTTP status code doesn't work with TomCat 6