如何使用uwsgi重启django
how to use uwsgi restart django
我的项目中有一个wsgi.ini
文件,当我更改django代码时,我使用uwsgi wsgi.ini
到运行我的project.But,我想重新启动project 而不是杀死 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)的 /tmp
目录中没有 project-master.pid
文件。
我的问题:
- 如何使用 uwsgi 重启 django 而不是杀死它然后启动它?
- 如果使用uwsgi官方文档提供的方法,如何创建一个
.pid
文件,这个文件应该包含哪些内容?
您不需要使用 uWSGI 服务器来满足您的本地开发需求。 Apache/uWSGI 用于生产,并且在每次代码更改时隐式重新启动它们通常是不可取的。事实上,即使在代码更改后生产服务器也不会重新启动,这通常起到了安全网的作用,这样您就不会在没有完成部署的情况下最终重新启动服务器。
只需使用 django 自身提供的内置服务器。
python manage.py runserver 8000
我找到答案了。 project-master.pid
设置在wsgi.ini
文件中,你应该先设置pidfile=/tmp/project-master.pid
。然后使用uwsgi启动服务器:uwsgi wsgi.ini
。启动后,在/tmp
目录下可以看到一个project-master.pid
文件。当你想重新加载uwsgi服务器时,你可以使用这样的命令来重启服务器:uwsgi --reload /tmp/project-master.pid
.
我认为我找到了更简单的答案,你可以杀死你的 uwsgi 进程然后重新生成它:
killall uwsgi
然后再次 运行 你的 uwsgi 命令。
我的项目中有一个wsgi.ini
文件,当我更改django代码时,我使用uwsgi wsgi.ini
到运行我的project.But,我想重新启动project 而不是杀死 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)的 /tmp
目录中没有 project-master.pid
文件。
我的问题:
- 如何使用 uwsgi 重启 django 而不是杀死它然后启动它?
- 如果使用uwsgi官方文档提供的方法,如何创建一个
.pid
文件,这个文件应该包含哪些内容?
您不需要使用 uWSGI 服务器来满足您的本地开发需求。 Apache/uWSGI 用于生产,并且在每次代码更改时隐式重新启动它们通常是不可取的。事实上,即使在代码更改后生产服务器也不会重新启动,这通常起到了安全网的作用,这样您就不会在没有完成部署的情况下最终重新启动服务器。
只需使用 django 自身提供的内置服务器。
python manage.py runserver 8000
我找到答案了。 project-master.pid
设置在wsgi.ini
文件中,你应该先设置pidfile=/tmp/project-master.pid
。然后使用uwsgi启动服务器:uwsgi wsgi.ini
。启动后,在/tmp
目录下可以看到一个project-master.pid
文件。当你想重新加载uwsgi服务器时,你可以使用这样的命令来重启服务器:uwsgi --reload /tmp/project-master.pid
.
我认为我找到了更简单的答案,你可以杀死你的 uwsgi 进程然后重新生成它:
killall uwsgi
然后再次 运行 你的 uwsgi 命令。