gam*_*mer 0 python django fabric gunicorn
我正在将织物用于使用gunicorn的站点部署。我有以下由deploy()
函数调用的代码。
def restart_gunicorn():
sudo('ps ax|grep gunicorn')
sudo('pkill -HUP -f [g]unicorn.*master')
sudo('gunicorn -b 0.0.0.0:8080 %(path)s/application/wsgi &' % env)
Run Code Online (Sandbox Code Playgroud)
当我运行fab文件时,它显示以下内容:
out: 7694 pts/18 S+ 0:00 grep gunicorn
[127.0.0.1:2222] out:
[127.0.0.1:2222] sudo: pkill -HUP -f [g]unicorn.*master
[127.0.0.1:2222] out: sudo password:
[127.0.0.1:2222] out:
Fatal error: sudo() received nonzero return code 1 while executing!
Requested: pkill -HUP -f [g]unicorn.*master
Run Code Online (Sandbox Code Playgroud)
我认为它应该杀死gunicorn并重新启动它。我在这里缺少什么?
那是因为您的Gunicorn流程名称不完全相同,gunicorn
并且您可能正在运行多个Gunicorn流程(主人和工人)。
通常是您想杀死的主人。很少想要将其正确销毁,更常见的是,您只想重新加载代码,因此-HUP就足够了。所以试试这个:
sudo('pkill -HUP -f [g]unicorn.*master')
Run Code Online (Sandbox Code Playgroud)
根据您的评论,看来您的大多数问题是由于Gunicorn根本不在系统上运行所致。有两种选择,您可以事先进行测试,也可以只使用warn_only
with settings(warn_only=True):
sudo('pkill -HUP -f [g]unicorn.*master')
sudo('gunicorn -b 0.0.0.0:8080 %(path)s/application/wsgi &' % env)
Run Code Online (Sandbox Code Playgroud)
请注意,这里不需要您的sudo('ps ax | grep gunicorn')行。
归档时间: |
|
查看次数: |
852 次 |
最近记录: |