【问题标题】:Issues with java war file deployment in Cpanel server with Tomcat 7使用 Tomcat 7 在 Cpanel 服务器中部署 java war 文件的问题
【发布时间】:2015-04-07 05:07:48
【问题描述】:

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

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

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

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

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

  4. 此外,一旦部署了 war 文件,我们就在目录内的文件中进行了一些代码更改,以将路径从本地路径更改为服务器路径。但是每次重启tomcat时都会部署war文件。

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

【问题讨论】:

    标签: java tomcat tomcat7 war cpanel


    【解决方案1】:

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

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

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

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

    3.我能够部署一个单一的战争文件,我已经在 server.xml 文件中将端口从 8080 更改为 80,它工作正常。但是当我尝试部署多个战争文件时,它会导致问题。请让我知道我们需要在 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. 首先确保您的应用在 localhost 或本地机器上运行良好。

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

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

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

    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。但这需要一些系统管理员的专业知识。

    【讨论】:

    • 感谢 Raj 的回复。如前所述,我已将 tomcat 端口更改回 8080。在 server.xml 文件中,autoDeploy 保持为真,一旦我将单个 war 文件移动到该位置,它就会自动部署,但是当我尝试从 tomcat 界面启动它时,它是显示错误。 “失败 - 无法启动上下文路径 /MySite 的应用程序” [名称已替换为 MySite]。我检查了 catalina.err 并发现了以下错误。请看下面的评论。
    • ERROR SHOWN "org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc 严重:Web 应用程序 [/MySite] 注册了 JDBC 驱动程序 [com.mysql.jdbc.Driver] 但在Web 应用程序已停止。为防止内存泄漏,已强制取消注册 JDBC 驱动程序。org.apache.catalina.loader.WebappClassLoader clearReferencesThreads 严重:Web 应用程序 [/MySite] 似乎已启动一个名为 [MySQL Statement Cancellation Timer ] 但未能阻止它。这很可能会造成内存泄漏。"
    • 关于“严重:Web 应用程序 [/MySite] 注册了 JDBC 驱动程序 [com.mysql.jdbc.Driver] 但未能取消注册它”我认为这是一条信息消息。让你知道tomcat做了一些事情。很可能您的网站仍然可以工作。互联网上有很多页面对此进行了更多介绍。检查链接stackoverflow.com/questions/3320400/… 和链接ask.webatall.com/java/…
    • 感谢 Raj 的 cmets。我能够部署两个战争文件并能够启动它。一个域指向正确,而另一个域正在重定向到默认的 tomcat 页面。你能告诉我为什么会这样吗?当我使用完整的网站 URL 访问该网站时,我可以访问该网站。例如:www.Domain2.com/folder/index.html 但不是 www.Domain2.com。我真的在尝试实现 mod_proxy 以将端口 80 请求重定向到 8080,但我的尝试都没有正常工作。我正在使用 Cpanel 服务器。有什么办法可以从 Cpanel 安装它并配置 mod_proxy?
    • 嗨 Raj,还有什么我可以为这个域实施 SSL 证书的。我已经安装了在 apache 中运行的 SSL 证书,但没有使用 tomcat 完成。如果我实现 mod_proxy 来重定向请求,我是否必须进行任何更改。我阅读了提到更改 server.xml 中将 SSL 请求转发到 8443 的设置的文档。如果我使用 mod_proxy 实现它,这是否相同。提前感谢 Raj 的支持。
    猜你喜欢
    • 2018-10-24
    • 2012-10-29
    • 1970-01-01
    • 1970-01-01
    • 2012-12-16
    • 2018-07-25
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多