2014-02-05 2 views
3

Я получаю очень необычное поведение.Перезапуск Jetty на Ubuntu 12.04.4

Я последовал these instructions for installing jetty, но использовал последнюю версию вместо (9.1.1v20140108)

у меня была причина, чтобы перезапустить Jetty и обнаружил, что я получаю эти ошибки (регистрируемые в качестве корня)

Начало Jetty: FAILED ср 5 февраля 12:35:59 EST 2014

Итак, я потратил 30 минут, чтобы найти ответ, но по причинам, которые я не могу вспомнить, я выполнил проверку причала, и он бежал (имел pid).

Так что я попытался снова с сервис Jetty остановки:

[email protected]:/var/log# service jetty stop 
/etc/init.d/jetty: line 13: chkconfig:: command not found 
/etc/init.d/jetty: line 14: description:: command not found 
/etc/init.d/jetty: line 15: processname:: command not found 
Stopping Jetty: start-stop-daemon: warning: failed to kill 7817: No such process 
1 pids were not killed 
No process in pidfile '/var/run/jetty.pid' found running; none killed. 
OK 

None убит? ОК. Давайте проверим, что:

[email protected]:/var/log# service jetty check 
/etc/init.d/jetty: line 13: chkconfig:: command not found 
/etc/init.d/jetty: line 14: description:: command not found 
/etc/init.d/jetty: line 15: processname:: command not found 
Checking arguments to Jetty: 
START_INI  = /srv/jetty/start.ini 
JETTY_HOME  = /srv/jetty 
JETTY_BASE  = /srv/jetty 
JETTY_CONF  = /srv/jetty/etc/jetty.conf 
JETTY_PID  = /var/run/jetty.pid 
JETTY_START = /srv/jetty/start.jar 
JETTY_LOGS  = /srv/jetty/logs 
CLASSPATH  = 
JAVA   = /usr/bin/java 
JAVA_OPTIONS = -Dsolr.solr.home=/srv/solr -Djetty.state=/srv/jetty/jetty.state -Djetty.logs=/srv/jetty/logs -Djetty.home=/srv/jetty -Djetty.base=/srv/jetty -Djava.io.tmpdir=/tmp 
JETTY_ARGS  = jetty.port=8085 jetty-logging.xml jetty-started.xml 
RUN_CMD  = /usr/bin/java -Dsolr.solr.home=/srv/solr -Djetty.state=/srv/jetty/jetty.state -Djetty.logs=/srv/jetty/logs -Djetty.home=/srv/jetty -Djetty.base=/srv/jetty -Djava.io.tmpdir=/tmp -jar /srv/jetty/start.jar jetty.port=8085 jetty-logging.xml jetty-started.xml 

Нет PID? Давайте проверим, что:

[email protected]:/var/log# service jetty start 
/etc/init.d/jetty: line 13: chkconfig:: command not found 
/etc/init.d/jetty: line 14: description:: command not found 
/etc/init.d/jetty: line 15: processname:: command not found 
Starting Jetty: FAILED Wed Feb 5 12:39:43 EST 2014 

Хорошо, есть ли ПИД?

[email protected]:/var/log# service jetty check 
/etc/init.d/jetty: line 13: chkconfig:: command not found 
/etc/init.d/jetty: line 14: description:: command not found 
/etc/init.d/jetty: line 15: processname:: command not found 
Checking arguments to Jetty: 
[edit] 

Jetty running pid=7993 

Weird. Разумеется, остановка и проверка дадут те же результаты.

Что происходит с сценарием запуска причала? И почему я получаю FAILED ошибки при запуске, которые являются неправильными, и не удается удалить ошибки pid при остановке, которые также неверны?

+0

Стоит отметить, что я следил за ссылкой в ​​комментариях на странице настроек, в которой указывалось, что удаление --daemon из команды start-stop-daemon будет работать - это не так. – datakid

+0

Я пробую то же самое, но с 9.1.4.v20140401 ... это не работает для меня. Я получаю тот же самый «Start Jetty: FAILED Sat Apr 5 05:28:39 EDT 2014', но я не получаю java.io.IOException. есть идеи? – Hristo

+0

Какое сообщение об ошибке вы получаете? Если нет, попробовали ли вы запустить команду из командной строки, чтобы узнать, какая ошибка возникает? – datakid

ответ

1

Итак, это было сложно, что стало результатом недавнего обновления Java.

Я прыгнул в jetty.sh в /etc/init.d/jetty и схватил за фактически выполненную строку:

$ /usr/bin/java -Dsolr.solr.home=/srv/solr -Djetty.state=/srv/jetty/jetty.state \ 
-Djetty.logs=/srv/jetty/logs -Djetty.home=/srv/jetty -Djetty.base=/srv/jetty \ 
-Djava.io.tmpdir=/tmp -jar /srv/jetty/start.jar jetty.port=8085 \ 
jetty-logging.xml jetty-started.xml 

, и я получил это:

java.io.IOException: Cannot read file: modules/npn/npn-1.7.0_51.mod 
    at org.eclipse.jetty.start.Modules.registerModule(Modules.java:405) 
    at org.eclipse.jetty.start.Modules.registerAll(Modules.java:395) 
    at org.eclipse.jetty.start.Main.processCommandLine(Main.java:561) 
    at org.eclipse.jetty.start.Main.main(Main.java:102) 

Который в свою очередь, приводят меня к this solution on the eclipse dev list:

$ cp /srv/jetty/modules/npn/npn-1.7.0_45.mod /srv/jetty/modules/npn/npn-1.7.0_51.mod 
$ chown jetty:jetty /srv/jetty/modules/npn/npn-1.7.0_51.mod 

Конечно, Jetty перезапущен без хлопот.

+1

эта проблема исправлена ​​в мастер-версии и будет отсутствовать в выпуске 9.1.2 –

7

я получил исправление для всех тех, кто использует этот учебник, чтобы установить Jetty

nano /etc/init.d/jetty 

И изменить этот синтаксис:

start-log-file="$JETTY_LOGS/start.log" 

к

start-log-file="start.log" 

Это будет исправить все в последней конструкции причала и заставить его работать как шарм.

Надеется, что я мог бы помочь

+0

Спасибо, это сработало. Я подумал, что, возможно, проблема заключается в неопределенном '$ JETTY_LOGS', но даже если я явно указываю записываемый файл, например' start-log-file = "/ opt/jetty/logs/start.log", он все равно не работает , – Minras

-1

Я бег Jetty 9.2.10.v201503 на pcDuino v3, Ubuntu 14.04.Согласно моему опыту с этой относительно медленной платформой, это сообщение может сообщаться, когда сам сервер Jetty запускается дольше, чем ожидает внутренний цикл ожидания в сценарии /etc/init.d/jetty.

После добавления «set -x» в начале файла /etc/init.d/jetty и запуска этого сценария я заметил, что внутренний цикл ожидания реализован как «за» выполнение 15 шагов и периодическая проверка содержимого $ Файл JETTY_BASE/jetty.state. После ожидания дополнительной пары секунд сервер Jetty запущен и работает нормально, никаких ошибок/warrnings в файлах журналов.

Смежные вопросы