【问题标题】:Issue Starting up ColdFusion 2018 on Solaris 11.3 on non-root account问题在非 root 帐户上的 Solaris 11.3 上启动 ColdFusion 2018
【发布时间】:2019-03-08 02:34:28
【问题描述】:

我有一个 Solaris 系统,有 3 个用户(root、cfruntime、cfdev)

ColdFusion 2018 安装成功后,coldfusion2018 安装的所有者是cfruntime。

作为 cfdev,我尝试使用以下命令启动 ColdFusion

sudo /disktwo/coldfusion2018/cfusion/bin/coldfusion 启动

然而,这似乎并没有正常启动冷融合,但也不会产生任何异常错误/日志

查看启动脚本/disktwo/coldfusion2018/cfusion/bin/coldfusion。以下几行实际上启动了 ColdFusion

CFSTART='su $RUNTIME_USER -c "LD_LIBRARY_PATH=$LD_LIBRARY_PATH; 
        export LD_LIBRARY_PATH; 
        cd $CF_DIR/bin; 
        $JAVA_EXECUTABLE -classpath $CLASSPATH $JVM_ARGS
        com.adobe.coldfusion.bootstrap.Bootstrap -start &"'

eval $CFSTART > /dev/null

我做了一个有趣的观察,如果我删除了CFSTART 末尾的&,ColdFusion 将正常启动(尽管我需要将它放在后台crtl-z , bg

如果以 (cfdev/cfruntime) 身份启动,则在退出启动脚本后,ColdFusion 进程似乎不会持续存在,但如果脚本以 root 身份运行,则会正常启动。

有什么想法吗?

【问题讨论】:

  • bin目录下是否有./start.sh脚本
  • 该脚本只是运行 $CF_DIR/bin/coldfusion start .. 所以同样的问题
  • 你检查过日志文件吗?他们有什么有趣的事情要说吗? (将它们包括在问题中)
  • 关于检查哪些日志文件有什么建议吗? (我检查了coldfusion-error.log和coldfusion-out.log),但似乎没有什么异常
  • 我在旧版本的 CF 中看到过类似的东西。我是 MacOS,我可以启动它并关闭终端窗口,就可以了。您可能只需要保持终端打开。

标签: bash coldfusion solaris coldfusion-2018


【解决方案1】:

$JAVA_EXECUTABLE 命令之前添加nohup 并将输出发送到>/dev/null 2>&1 对我有用

CFSTART='su $RUNTIME_USER -c "LD_LIBRARY_PATH=$LD_LIBRARY_PATH; 
        export LD_LIBRARY_PATH; 
        cd $CF_DIR/bin; 
        nohup $JAVA_EXECUTABLE -classpath $CLASSPATH $JVM_ARGS
        com.adobe.coldfusion.bootstrap.Bootstrap -start > /dev/null 2>&1 &"'

我发现切换到运行时用户su $RUNTIME_USER 并在后台启动进程似乎会导致所有由 shell 启动的作业在启动脚本完成后关闭(向所有已启动的作业发送挂断信号 (SIGHUP)通过那个终端)。

nohup 在收到挂断信号 (SIGHUP) 时阻止 $JAVA_EXECUTABLE 关闭

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-16
    • 1970-01-01
    • 1970-01-01
    • 2018-11-15
    • 2011-05-18
    • 1970-01-01
    相关资源
    最近更新 更多