0

在 CentOS 上运行 tomcat-7.0.33。我有一个安全要求,将 server.xml 中的 tomcat 关闭字更改为随机字符串,所以我需要从这个开始:

<Server port="8005" shutdown="SHUTDOWN">

像这样

<Server port="8005" shutdown="8GVsi4lMZTX6aOzorJYexiq8K7ZGxaZ">

但是,一旦到位,我就无法通过 init 脚本 ( /etc/init.d/tomcat stop) 重新启动/停止 tomcat。当我尝试这样做时,我在 catalina.out 中得到以下信息:

Jul 22, 2014 8:09:28 PM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop:
java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:579)
        at java.net.Socket.connect(Socket.java:528)
        at java.net.Socket.<init>(Socket.java:425)
        at java.net.Socket.<init>(Socket.java:208)
        at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:499)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:371)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:453)

简单的问题:如何更改 server.xml 中的关闭字词,以便我可以像往常一样使用 init 脚本?
或者,如果没有答案,当我更改 server.xml 中的关闭字时,我该如何重新启动/停止 tomcat 服务?

4

1 回答 1

0

关闭tomcat,然后更改它。

您还可以对进程执行一个简单的 unix kill 命令(这会发送 INT 信号,不要发送 KILL 信号)。这也将彻底关闭tomcat。

于 2014-07-22T20:30:08.653 回答