gpt4 book ai didi

java - 如何避免运行多个 apache tomcat 实例

转载 作者:行者123 更新时间:2023-11-28 22:04:11 26 4
gpt4 key购买 nike

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

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

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

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

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

任何建议都会很有帮助。

提前致谢!!

当我运行 tomcat 时,它的 pid 是 8320 并且它使用以下端口:tcp 0 0::ffff:127.0.0.1:8005::::* 监听 8320/java
TCP 0 0:::8009:::* 监听 8320/java
TCP 0 0:::22222:::* 收听 8320/java
TCP 0 0:::8080:::* 监听 8320/java
udp 0 0:::40161:::* 8320/java
udp 0 0::ffff:192.168.122.108:11007::::* 8320/java

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

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

知道怎么做吗?

最佳答案

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

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

关于java - 如何避免运行多个 apache tomcat 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19559765/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com