我想用 monit 监督在 unicorn 上运行的 Rails 应用程序。
以 root 身份登录时从 shell 运行以下两个命令将会失败:
"/srv/app/current/config/unicorn.sh start"
su -c "/srv/app/current/config/unicorn.sh start" app
起作用的是:
su -c "/srv/app/current/config/unicorn.sh start" - app
这并不令我惊讶,我正在使用萊本这需要$PATH
我进行一些修改.bash_profile
。不幸的是,我无法让它与 monit 一起工作。我根据在互联网上找到的内容准备了一些脚本:
check process unicorn
with pidfile /srv/app/shared/pids/unicorn.pid
start program = "/srv/app/current/config/unicorn.sh start" as uid app and gid app
stop program = "/srv/app/current/config/unicorn.sh stop" as uid app and gid app
group www
在这种情况下,似乎.bash_profile
没有读取 — 如何更改它?或者,如何添加几个供$PATH
monit 使用的目录?
谢谢你的帮助。
答案1
我刚刚发现,最好的做法是让unicorn.sh
shebang 指向/bin/bash
并设置$PATH
在脚本的开头。