如何使用uwsgi重启django

时间:2017-09-12 09:20:26

标签: django uwsgi restart

我的项目中有一个wsgi.ini文件,我使用uwsgi wsgi.ini来运行我的项目。但是当我更改django代码时,我想重新启动项目而不是杀死uwsgi然后重新加载它。 uwsgi官方文档提供了以下方法: # using kill to send the signal kill -HUP `cat /tmp/project-master.pid` # or the convenience option --reload uwsgi --reload /tmp/project-master.pid # or if uwsgi was started with touch-reload=/tmp/somefile touch /tmp/somefile 但是我的系统(centOS)中的project-master.pid目录中没有/tmp个文件。

我的问题:

  1. 如何使用uwsgi重启django而不是杀死然后启动呢?
  2. 如果使用uwsgi官方文档提供的方法,如何创建.pid文件以及该文件中应包含哪些内容?

3 个答案:

答案 0 :(得分:1)

我找到了anwser。在project-master.pid文件中设置了wsgi.ini,您应该先设置pidfile=/tmp/project-master.pid。然后使用uwsgi启动服务器:uwsgi wsgi.ini。启动后,您可以在project-master.pid目录中看到/tmp文件。如果要重新加载uwsgi服务器,可以使用此命令重新启动服务器:uwsgi --reload /tmp/project-master.pid

答案 1 :(得分:0)

您无需使用uWSGI服务器来满足本地开发需求。 Apache / uWSGI用于生产,并且通常不希望在每次代码更改时隐式重新启动它们。事实上,生产服务器即使在代码更改后也没有重新启动,它通常会充当安全网,因此您最终不会在未完成部署的情况下重新启动服务器。

只需使用inbuild服务器django自己提供。

python manage.py runserver 8000

答案 2 :(得分:0)

我认为答案很简单,您可以杀死uwsgi进程,然后再次生成它:

{{1}}

然后再次运行uwsgi命令。