在系统启动时启动 mongrel?

在系统启动时启动 mongrel?

我有一个名为的脚本mgrst可以帮我重新启动 mongrel:

cd /opt/redmine
/usr/local/bin/mongrel_rails cluster::stop
rm -rf tmp/pids/*
/usr/local/bin/mongrel_rails cluster::start

我用一行来调用它rc.local

/usr/bin/mgrst >>/tmp/start.log  2>&1

启动日志启动后有这个:

already stopped port 3000
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31: command not found: mongrel_rails start -d -e production -c /opt/redmine --user apache --group apache -p 3000 -P tmp/pids/mongrel.3000.pid -l log/mongrel.3000.log
starting port 3000

Mongrel 在启动后没有启动。我可以切换到 root 并运行mgrst上述命令,它工作正常。从上面的错误来看,即使我给了它一个完整的路径,它在启动时似乎也找不到 mongrel 命令。知道这里发生了什么吗?

答案1

是否有可能在 custom_require.rb 中某些内容被相对调用,但由于您是从 rc.local 运行,因此没有定义(或至少没有正确定义)$PATH,而当您登录 bash(或任何 shell)时会设置您的路径然后它运行良好?

答案2

我认为问题是在错误行中描述的:尝试使 -P 和 -l 的参数成为绝对路径。

相关内容