在Ubuntu 12.04.4上重启Jetty

时间:2014-02-05 01:46:30

标签: jetty ubuntu-12.04

我有一些非常不寻常的行为。

我跟着these instructions for installing jetty但是使用了最新版本(9.1.1v20140108)

我有理由重启Jetty,发现我收到了这些错误(以root身份登录)

启动码头:失败于2月5日星期三12:35:59 2014年

所以我花了30分钟寻找答案,然后由于我不记得的原因,我做了服务码头检查并且它正在运行(有一个pid)。

所以我再次尝试使用Jetty服务停止:

root@erp:/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

没有被杀?好。我们来看看:

root@erp:/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?我们来看看:

root@erp:/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

好的,有PID吗?

root@erp:/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

怪异。果然,停止和检查会得到相同的结果。

jetty启动脚本发生了什么?为什么我在启动时出现错误的FAILED错误,并且无法删除停止时的pid错误,这也是错误的?

4 个答案:

答案 0 :(得分:7)

我已经修复了所有使用该教程安装jetty的人

nano /etc/init.d/jetty

并更改此语法:

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

start-log-file="start.log"

它将修复最新码头构建中的所有内容并使其像魅力一样运行。

希望我可以提供帮助

答案 1 :(得分:1)

好的,所以这是一个棘手的问题,是最近Java更新的结果。

我跳进了/etc/init.d/jetty的jetty.sh并抓住了实际执行的行:

$ /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重新开始没有麻烦。

答案 2 :(得分:0)

尝试在终端下运行以下命令。

sudo service jetty9 stop

答案 3 :(得分:-1)

我在pcDuino v3,Ubuntu 14.04上运行Jetty 9.2.10.v201503。根据我对这个相对较慢的平台的经验,当Jetty服务器本身启动的时间长于/etc/init.d/jetty脚本期望的内部等待循环时,可能会报告此消息。

在/etc/init.d/jetty文件的开头添加“set -x”并运行该脚本后,我注意到内部等待循环实现为“for”15步并定期检查$ JETTY_BASE的内容/jetty.state文件。 等待几秒后,Jetty服务器启动并运行正常,日志文件中没有错误/警告。