【问题标题】:running tomcat6 with jsvc用jsvc运行tomcat6
【发布时间】:2012-10-14 22:06:47
【问题描述】:

我正在尝试使用 jsvc 运行 tomcat6,以便在启动时获得用户权限。

我正在尝试使用 tomcat 文档中的代码运行:http://tomcat.apache.org/tomcat-6.0-doc/setup.html

cd $CATALINA_HOME
./bin/jsvc -cp ./bin/bootstrap.jar \
    -outfile ./logs/catalina.out -errfile ./logs/catalina.err \
    org.apache.catalina.startup.Bootstrap

这些是我得到的错误:

Unable to redirect to ./logs/catalina.out
Unable to redirect to ./logs/catalina.err
Cannot open PID file /var/run/jsvc.pid, PID is 2813
Service exit with a return value of 255

同样重要的是,我没有按照指南中指定的来源安装 tomcat 和 jsvc。相反,我使用 synaptic 从包中安装它们。


更新:

我现在将它作为脚本运行,代码如下:

#!/bin/sh

export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk
export CATALINA_HOME=/usr/share/tomcat6
./bin/jsvc -cp ./bin/bootstrap.jar:$JAVA_HOME\
    -outfile ./logs/catalina.out -errfile ./logs/catalina.err \
    org.apache.catalina.startup.Bootstrap

现在我得到一个不同的错误:

Cannot find daemon loader org/apache/commons/daemon/support/DaemonLoader
Service exit with a return value of 1

我还尝试从 synaptic 中删除我所做的 jsvc 安装,并从源代码中安装 jsvc 1.0.10 版。它没有帮助。

【问题讨论】:

    标签: java linux tomcat jsvc


    【解决方案1】:

    除了 bootstrap.jar 之外,您还需要 classpath 中的 bin/commons-daemon.jar

    【讨论】:

    • 当您在启动路径上定义了错误的参数时,也会发生这种副作用。例如,假设您在某处使用“XX:+UseG1GC”而不是“-XX:+UseG1GC”指定 G1 垃圾收集器(您忘记添加破折号),您的 tomcat 也不会启动此错误消息。要测试是否是这种情况,您可以使用“configtest.sh”脚本在从 jsvc 启动之前仔细检查您的配置
    • 什么是类路径?
    【解决方案2】:

    您确定 CATELINA_HOME 已正确导出吗?还是tomcat启动正常?

    可能是这个问题

    【讨论】:

    • 是的,CATALINA_HOME 已正确导出。我已经检查并尝试使用脚本在运行时将其导出。
    猜你喜欢
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    • 2014-02-24
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多