Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何重新启动gunicorn hup,我不知道主PID或PID文件的位置_Django_Gunicorn - Fatal编程技术网

Django 如何重新启动gunicorn hup,我不知道主PID或PID文件的位置

Django 如何重新启动gunicorn hup,我不知道主PID或PID文件的位置,django,gunicorn,Django,Gunicorn,我想重新启动使用gunicorn运行的Django服务器 我知道如何在我的系统中使用gunicorn。但是现在我需要重新启动一个不是我设置的远程服务器 我不知道masterpid要重新启动服务器,如何获取masterpid 通常IHUPgunicorn和sudo kill-s HUP masterpid 我试过使用ps aux|grep gunicorn 我在任何地方都没有找到gunicorn.pid文件 如何获取主进程的pid?您可以使用选项'-p'运行gunicorn,以便从pid文件中获取

我想重新启动使用gunicorn运行的Django服务器

我知道如何在我的系统中使用gunicorn。但是现在我需要重新启动一个不是我设置的远程服务器

我不知道
masterpid
要重新启动服务器,如何获取masterpid

通常I
HUP
gunicorn和
sudo kill-s HUP masterpid

我试过使用ps aux|grep gunicorn

我在任何地方都没有找到
gunicorn.pid
文件


如何获取主进程的pid?

您可以使用选项'-p'运行gunicorn,以便从pid文件中获取主进程的pid。 例如:

gunicorn -p app.pid your_app.wsgi.app
您可以通过以下方式获得主控制器的pid:

cat app.pid

这也有助于重新启动gunicorn:

ps aux |grep gunicorn |grep yourapp | awk '{ print $2 }' |xargs kill -HUP
第1步: 转到/etc/systemd/system/gunicorn.service并打开文件 添加波纹管行

PIDFile=/run/gunicorn/gunicorn.pid  
--pid /run/gunicorn/gunicorn.pid
d /run/gunicorn 0755 django django -
例如:

[Service]
PIDFile=/run/gunicorn/gunicorn.pid
WorkingDirectory=/home/django/django_project
ExecStart=/usr/bin/gunicorn --pid /run/gunicorn/gunicorn.pid --name=django_project.....
User=django
Group=django
第二步: 转到/etc/tmpfiles.d/并创建新文件gunicorn.conf(如果不存在)

添加波纹管行

PIDFile=/run/gunicorn/gunicorn.pid  
--pid /run/gunicorn/gunicorn.pid
d /run/gunicorn 0755 django django -
其中django=用户名和组名

第三步: 重新启动服务器或
/etc/init.d/gunicorn restart
重新启动gunicorn以生效


您的pid文件位置是/run/gunicorn/gunicorn.pid立即检查。

下面的一行代码可以完美完成任务:

kill -HUP `ps -C gunicorn fch -o pid | head -n 1`
解释
pc-C gunicorn
仅列出使用
gunicorn
命令的进程,即工作进程和主进程。工人是master的子女,这可以通过使用
ps-C gunicorn fc-o ppid、pid、cmd
看到。我们只需要主机的pid,因此
h
标志用于删除第一行pid文本。注意,
f
标志确保
master
打印在工人上方

正确的步骤是仅向主机发送
HUP
信号。这样,gunicorn就可以正常地重新启动,只重新创建工作进程,而不是主进程