为什么执行资源上的 nohup 不起作用 - Chef 食谱
Why nohup on execute resource doesn't work - Chef recipe
我正在尝试使用 Chef 部署 Django 应用程序(开发模式)。问题是,当执行配方时,服务器不会在我登录时保持 alive.The 命令有效,但因为它不会更改会话。任何建议都有帮助。
execute 'django_run' do
user 'root'
cwd '/var/www/my-app/'
command 'source ./.venv/bin/activate && sudo -E nohup python2 ./manage.py runserver 0.0.0.0:8000 > /dev/null 2>&1 &'
end
我怀疑这里的 sudo 和 & 有点奇怪。尝试使用 sudo -b
而不是符号。另外一个更好的方法可能是使用 service
厨师资源而不是 execute
:
https://docs.chef.io/resources/service/
我正在尝试使用 Chef 部署 Django 应用程序(开发模式)。问题是,当执行配方时,服务器不会在我登录时保持 alive.The 命令有效,但因为它不会更改会话。任何建议都有帮助。
execute 'django_run' do
user 'root'
cwd '/var/www/my-app/'
command 'source ./.venv/bin/activate && sudo -E nohup python2 ./manage.py runserver 0.0.0.0:8000 > /dev/null 2>&1 &'
end
我怀疑这里的 sudo 和 & 有点奇怪。尝试使用 sudo -b
而不是符号。另外一个更好的方法可能是使用 service
厨师资源而不是 execute
:
https://docs.chef.io/resources/service/