当文件更改时重新启动Gunicorn/Nginx

13

我正在使用Django开发一个Web应用程序,它托管在Gunicorn和Nginx上。每当我修改代码时,手动运行“sudo service nginx restart; sudo service gunicorn restart”会有些不方便。是否有一种方法可以使它们自动重新启动,或者使更改显示而无需重新启动?


2
你不需要重启nginx,只需要重启gunicorn。通常情况下,你会使用“runserver”命令在本地测试更改(该命令会自动重启),然后将更改提交到存储库中。只有在一堆更改之后,你才会更新服务器上的代码,因此你不必经常重启服务器。 - knbk
1
可能是[gunicorn在源代码更改时自动重新加载]的重复问题(https://dev59.com/b2cs5IYBdhLWcg3wh0f7)。 - mattm
1个回答

14

你可以像gunicorn文档中提到的那样添加'--reload'参数。

当代码更改时重新启动工作者。

此设置适用于开发环境。它将导致在应用程序代码更改时,工作者被重新启动。

来源:http://docs.gunicorn.org/en/latest/settings.html


请问您能否提供一个包含'--reload'参数的完整命令? - Sirojiddin Komolov
1
@SirojiddinKomolov 这可能取决于你的项目?我已经好几年没碰过gunicorn了。这里有一篇文章,介绍如何为Flask应用程序提供服务。https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-gunicorn-and-nginx-on-ubuntu-18-04#step-4-configuring-gunicorn在文章的示例中添加reload参数将如下所示: gunicorn --reload --bind 0.0.0.0:5000 wsgi:app - Andrew Zick
谢谢,我会看一下的。 - Sirojiddin Komolov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接