我已经关注CentOS 5.2 Mongrel Cluster 教程在 CentOS 5.2 上重启时启动 mongrel_cluster。但是,我必须在重启时手动启动 mongrel_cluster。
由于这不起作用,我遵循了在 Centos 5.2 上将 Mongrel 设置为服务并自动启动。关键点如下:
chkconfig -add mongrel_cluster
chkconfig –level 345 mongrel_cluster on
再次...这不起作用:我仍然必须在启动时手动启动 mongrel_cluster。最后,我尝试将“@reboot ...”添加到我的 crontab 中,如下所示:
RAILS_ROOT=/path/to/root
# Restart Ferret Drb server on host reboot:
@reboot ${RAILS_ROOT}/script/ferret_server --root=${RAILS_ROOT} -e production start
# Restart rails apps (via Mongrel) on host reboot:
@reboot /etc/init.d/mongrel_cluster start
但是再次...我必须手动重新启动 Mongrel 和 Ferret!
最后,我遵循了如何在重启时启动 DRb 服务器(Linux)说明,但我必须在重启时手动启动 Ferret DRb……
这是我第一次担任系统管理员,所以我甚至不确定要查看哪个日志文件...如果您需要更多信息来提供帮助,请帮助我并让我知道在哪里查看!
答案1
答案另一个问题给了我一个似乎可行的想法。我已将以下内容添加到我的/etc/rc.local文件:
# ... and restart Mongrel
su - MyUserName -c "/etc/init.d/mongrel_cluster start"
# ... and restart ferret
su - MyUserName -c "cd /path/to/rails_root && ./script/ferret_server --root=/path/to/rails_root -e production start"
... 哎呀!Mongrel & Ferret DRb 服务器似乎重新启动了!
系统关闭时是否有相应的脚本可以调用(即正确终止 mongrel_cluster 和 ferret_server)?
答案2
Pete - 您可以随时使用 rc 脚本中的类似命令来停止 mongrel_cluster:
su - YourUserName -c "/etc/init.d/mongrel_cluster stop"
这是标准的 initrc 脚本处理。您通常会发现一个“/etc/init.d/脚本名称' 后面至少可以跟 '开始' '停止' 或者 '重新开始'(最后一个命令几乎总是尝试运行停止脚本部分,后面跟着开始脚本。
但是,您不需要这样做。当系统关闭时,所有正在运行的进程都会收到终止信号,这意味着它们应该在关闭时正常终止。您可以在关闭时在终端输出中看到这一点,尽管我不确定它是否在 CentOS 上默认记录。(除非 mongrel 或 ferret 配置为生成日志)
希望有所帮助。