我在 /etc/environment
中设置了 RAILS_ENV='production'
变量,而简单的bash脚本
#!/bin/bash
printenv
在Monit Config I中,请检查此脚本是否正在运行。(仅用于测试目的,由于没有这样的过程,因此Monit应该尝试以:
来启动它 start program = "/home/deploy/www/laptophits/current/bin/importer"
)
我在MONIT日志中出现错误:
[UTC Sep 3 09:31:50] error : 'importer' failed to start (exit status 0) -- /home/deploy/www/laptophits/current/bin/importer: MONIT_DATE=Sun, 03 Sep 2017 09:31:20
MONIT_HOST=localhost
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
LANG=en_US.UTF-8
MONIT_PROCESS_PID=-1
MONIT_EVENT=Started
MONIT_PROCESS_MEM
因此,看起来这个bash脚本只有一些简单的monit变量运行。如何使用/etc/variables
和/或用户变量运行?
要加载/etc/环境变量,您必须使用 source /etc/environment
eg;
start program = "/bin/bash -c 'source /etc/environment && cd /srv/<project>/current && /usr/local/rbenv/shims/bundle exec sidekiq -d -L log/sidekiq.log -C config/sidekiq.yml -e production'" as uid 1000 and gid 1000
这将加载用户环境和/etc/环境文件。
您可以运行命令为:
start program = "/bin/bash -c '/home/deploy/www/laptophits/current/bin/importer'" as uid **username** and gid **group**
外壳将加载用户的环境。