Назад | Перейти на главную страницу

Ошибка Tomcat «Соединение отклонено» при запуске

Я вручную установил tomcat на Ubuntu 12.04, он работал нормально пару раз, но теперь он выдает эту ошибку

alpha@TM:~/apache-tomcat-6.0.35/bin$ st
Using CATALINA_BASE:   /home/alpha/apache-tomcat-6.0.35
Using CATALINA_HOME:   /home/alpha/apache-tomcat-6.0.35
Using CATALINA_TMPDIR: /home/alpha/apache-tomcat-6.0.35/temp
Using JRE_HOME:        /usr/lib/jvm/java-6-openjdk-i386
Using CLASSPATH:       /home/alpha/apache-tomcat-6.0.35/bin/bootstrap.jar
usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ]  { -help | start | stop }
16 Jul, 2012 6:21:06 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:327)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
    at java.net.Socket.connect(Socket.java:546)
    at java.net.Socket.connect(Socket.java:495)
    at java.net.Socket.<init>(Socket.java:392)
    at java.net.Socket.<init>(Socket.java:206)
    at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:422)
    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:616)
    at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:338)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:416)

Я много гуглил и искал в StackOverflow, но не смог найти правильного решения этой проблемы. Я попытался изменить порт прослушивания котов и порт выключения в conf / server.xml, но этого не произошло. Любая помощь будет оценена по достоинству.

Насколько я могу судить, кот вообще не запускается. Похоже, в вашем скрипте есть ошибка. Фактически, вы можете видеть, что перед тем, как выбросить исключение, он пишет:

usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ]  { -help | start | stop }

Это означает, что что-то не так с командной строкой, которую ваш скрипт использует для запуска (или остановки) tomcat.

Тогда есть исключение. Это исключение не на сервере Tomcat возникли проблемы. На самом деле это команда «stop», которой не удается подключиться к какому-либо Tomcat для остановки, потому что Tomcat не запускается из-за предыдущей ошибки.

Когда Tomcat запускается правильно, он прослушивает порт 8080 (или что бы вы его ни сконфигурировали) для обслуживания HTTP-запросов, но также слушает другой порт (обычно 8005, привязанный только к localhost). Этот порт является «портом выключения». Когда вы хотите завершить работу Tomcat, сценарий запускает другую небольшую программу Java, которая подключается к порту 8005 и выдает команду завершения работы работающему Tomcat.

Это исключение «в соединении отказано», которое вы видите, нет Tomcat для подключения, потому что Tomcat не запущен.

Фактически, вы обычно видите то же исключение, если вызываете команду tomcat stop, когда вы никогда не запускали Tomcat.

Вы должны проверить свой сценарий, найти, где он выполняет команду запуска, посмотреть, как он выглядит (заменить его эхом, посмотреть, что он печатает), и проверить, соответствует ли он инструкциям по использованию. Это должно выглядеть примерно так:

java -cp [some .jar files here] org.apache.catalina.startup.Catalina -config [path to config files, but it's optional] start