2

我在 linux 环境中使用 apache-tomcat-7.0.41。在一般情况下(当tomcat在webapps目录下没有任何应用即war文件时),只有当一个tomcat实例可以运行时。如果我们尝试使用启动脚本运行多个 tomcat 实例,则会由于端口绑定异常而自动关闭进程。

但是,当我将我的应用程序的 war 文件放在 webapps 目录中时,每次运行启动脚本时,启动脚本都会实例化一个新的 tomcat 实例。例如,如果我运行 2 次启动脚本,则在 jps 中显示 2 个引导进程。

我也无法使用关闭脚本停止 tomcat。

我只想运行一个tomcat实例。如果有人试图运行多个实例,它应该会自动关闭。

谁能告诉如何处理这种情况?

任何建议都会非常有帮助。

提前致谢 !!

当我运行 tomcat 时,它的 pid 为 8320,它使用以下端口: tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 8320/java
tcp 0 0 :::8009 :::* LISTEN 8320 /java
tcp 0 0 :::22222 :::* LISTEN 8320/java
tcp 0 0 :::8080 :::* LISTEN 8320/java
udp 0 0 :::40161 :::* 8320/java
udp 0 0 : :ffff:192.168.122.108:11007 :::* 8320/java

调用shutdown脚本Bootstrap进程后仍然显示在jps中。它使用以下端口:udp 0 0 :::40161 :::* 8320/java

我的应用程序使用了 22222 和 11007 端口,即关闭,但即使在调用关闭脚本后也只有一个 udp 端口​​未释放。

知道怎么做吗?

4

3 回答 3

0

这很奇怪,Tomcat 没有预料到 - 直到有人更改了一些配置 - 它应该可以顺利运行。

我建议不要深入研究问题,而是尝试卸载并重新安装 Tomcat。如果这不适用于您使用的当前版本 - 请尝试 +/-1 版本(6.0.x/8.0.0-RC5)。还要确保没有其他正在运行的软件/实用程序导致此问题。

Frederic 的选项也值得一试——以防上述方法无效!

于 2013-10-25T07:11:07.497 回答
0

您可以通过将 tomcat 作为服务/守护程序启动来解决您的问题。
服务脚本不应允许您启动已启动的服务。

http://www.tldp.org/HOWTO/MMBase-Inst-HOWTO/x321.html

于 2013-10-24T12:14:02.920 回答
-2

修改启动脚本,使其不会每次都创建新的tomcat进程。

于 2013-10-24T07:39:29.257 回答