代码更新时停止uwsgi

时间:2014-12-03 20:44:26

标签: python linux django uwsgi

我使用uwsgi来运行我的django项目。现在我搜索一种方式使“优雅”更新代码。如果我在运行uwsgi时更新代码,那么我在日志中会遇到很多错误,因为某些模板或文件可以在更新代码中删除。所以我需要暂时停止uwsgi并在更新代码时重新启动它。

P.S。 uwsgi在非root用户下工作,我也在非root用户下部署代码,所以我不能这样做:

uwsgi --stop pidfile.pid.

2 个答案:

答案 0 :(得分:1)

在uWSGI中有很多方法可以管理代码重新加载,其中绝大多数都在本文中描述:http://uwsgi-docs.readthedocs.org/en/latest/articles/TheArtOfGracefulReloading.html

尝试根据您的具体情况调整其中描述的概念

答案 1 :(得分:0)

有两种选择。

  1. 停止uwsgi并在完成后重启。

  2. 部署到第二个目录。例如,假设应用程序指向/ opt / app,则将代码部署到〜/ app,并将rm -rf / opt / app / *&& cp -r~ / app / / opt / app;你仍然可能需要重新启动uwsgi,以防它挂在任何FD上。