通过启动脚本启动Jetty不起作用

时间:2012-04-24 10:25:25

标签: java jetty init.d

我通过启动命令/etc/init.d/jetty启动Jetty时遇到问题。执行命令时,会生成以下输出:

/etc/init.d/jetty start

Starting Jetty servlet engine.: 
Jetty Rotate logs
Jetty servlet engine started, reachable on http://jagadguru:80/.: jetty.

当我在Jetty目录中输入java -jar start.jar时,它确实成功启动。

任何人都可以帮我吗?

3 个答案:

答案 0 :(得分:1)

这可能是文件权限问题。即使您使用sudo运行启动脚本,该脚本也会定义一个jetty用户(默认为jetty)。我有一个类似的问题,我对/ tmp的权限阻止了jetty在那里创建文件。我调整了/ tmp的权限,一切都很好!当然,jetty用户还需要对jetty文件夹的权限。

另外,要检查Jetty是否正确找到java,请运行sudo service jetty check

答案 1 :(得分:0)

由于某些工作或日志文件夹的权限错误,这可能是一个问题。我假设启动脚本尝试更改用户,因此没有与通过“java -jar”运行Jetty时使用的权限相同的权限。

另一种可能性是您没有设置JAVA_HOME并且启动脚本找不到您的java bin。

请附上某种日志文件,因为如果没有更详细的信息,很难说更多。

答案 2 :(得分:0)

在回答here时,/etc/default/jetty中Jetty的默认配置仅允许来自localhost的连接,您需要将JETTY_HOST设置为0.0.0.0以允许Jetty接受来自任何主机的连接。

将以下行添加到/etc/default/jetty

JETTY_HOST 0.0.0.0