我搜索了网络并尝试了多种解决方案。到目前为止,没有一个对我有用,因此提出这个问题。
我有一个用 运行的 rails 应用程序mongrel_rails start -e production -p 80
。该命令必须从应用程序的目录运行,在本例中为“/var/myapp”。
设置如下:
/etc/mongrel.sh
#!/bin/bash
sleep 15;
cd /var/myapp/
mongrel_rails start -e production -p 80
我sh /etc/mongrel.sh
之前exit 0
在/etc/rc.local
上述方法不起作用,但手动运行时确实有效sh /etc/mongrel.sh
。我也尝试在屏幕会话中使用以下命令运行它:screen -d -m *command*
。
有什么建议可以让这个按预期工作吗?我需要这个应用程序在启动后运行。
答案1
您可以在 cron job 中添加您的脚本。
要在 cron 作业中添加脚本,请按照以下步骤操作
- 以 root 权限打开终端。
- 运行
crontab -e
此命令将允许您编辑您的 cron。 - 添加行
@reboot sh /etc/mongrel.sh
一旦您的计算机启动,上述过程将执行该脚本。
答案2
/etc/mongrel.sh
从调用/etc/rc.local
。这个脚本rc.local
在所有正常系统服务启动后执行,在切换到多用户运行级别的过程结束时,因此您可以使用它来启动您的服务,
答案3
你rc.conf
必须告诉系统在哪里sh
。因此使用:
/bin/bash/sh /etc/mongrel.sh
这将允许系统运行该脚本。