我使用uwsgi来运行我的django项目。现在我搜索一种方式使“优雅”更新代码。如果我在运行uwsgi时更新代码,那么我在日志中会遇到很多错误,因为某些模板或文件可以在更新代码中删除。所以我需要暂时停止uwsgi并在更新代码时重新启动它。
P.S。 uwsgi在非root用户下工作,我也在非root用户下部署代码,所以我不能这样做:
uwsgi --stop pidfile.pid.
答案 0 :(得分:1)
在uWSGI中有很多方法可以管理代码重新加载,其中绝大多数都在本文中描述:http://uwsgi-docs.readthedocs.org/en/latest/articles/TheArtOfGracefulReloading.html
尝试根据您的具体情况调整其中描述的概念
答案 1 :(得分:0)
有两种选择。
停止uwsgi并在完成后重启。
部署到第二个目录。例如,假设应用程序指向/ opt / app,则将代码部署到〜/ app,并将rm -rf / opt / app / *&& cp -r~ / app / / opt / app;你仍然可能需要重新启动uwsgi,以防它挂在任何FD上。