这是我正在运行的:
rbenv sudo foreman export upstart /etc/init -a myapp -p 8080 -u myuser
在...web-1.conf
start on starting myapp-web
stop on stopping myapp-web
respawn
exec su - myuser -c 'cd /home/myuser/apps/myapp; export PORT=8080; bundle exec unicorn -p $PORT -c ./config/unicorn.rb >> /var/log/myapp/web-1.log 2>&1'
当我运行tail -f /var/log/myapp/web-1.log
时,我会看到以下内容:
-su: bundle: command not found
似乎$ PATH正在重置。如果我手动cd
进入该目录,在myuser
下运行时,我可以正常执行命令。想法?
我正在使用foreman
,rbenv
,rbenv-sudo
,unicorn
,rails 4.0.0
和ruby 2.0.0-p247
。
谢谢!
答案 0 :(得分:1)
好的,我在rbenv
中配置了~/.bashrc
。
su - myuser -c
是一个登录shell,但不是交互式shell。
我将rbenv
配置移至~/.profile
,现在一切似乎都在运作。
谢谢!