这是一个创建于 3706 天前的主题,其中的信息可能已经有所发展或是发生改变。
使用supervisor拉起Django(跑在虚拟环境中),只配置了一个程序,监听的是8080端口。
但最后总是会出现两个进程。我看进程号,第二个Django进程是由第一个Django拉起的。
这是什么原因?
进程:
[root@cheyo ~]# ps -ef | grep python
root 22602 1 0 Oct30 ? 00:03:48 /usr/bin/python2.6 /usr/bin/supervisord -c /etc/supervisord.conf
root 32623 22602 6 11:01 ? 00:00:00 /root/house/LemonHouse/ENV/bin/python /root/house/LemonHouse/django_house/manage.py runserver 0.0.0.0:8080
root 32630 32623 9 11:01 ? 00:00:00 /root/house/LemonHouse/ENV/bin/python /root/house/LemonHouse/django_house/manage.py runserver 0.0.0.0:8080
root 32633 32421 0 11:01 pts/1 00:00:00 grep python
[root@cheyo ~]#
Supervisor配置:
[program:LemonHouse]
directory=/root/house/LemonHouse/django_house
command=/root/house/LemonHouse/ENV/bin/python manage.py runserver 0.0.0.0:8080
stdout_logfile=/root/house/LemonHouse/django_house/Django_run.log
numprocs=1
redirect_stderr=true
4 条回复 • 2017-09-05 09:44:01 +08:00
|
|
1
cheyo 2014-11-04 11:36:37 +08:00
知道是是Django自己reload的原因了,我在supervisor中给Django加了--noreload后,就不会有两个进程了。
但这样,Django就不能自动载入修改的文件。
|
|
|
2
ericFork 2014-11-04 18:47:54 +08:00 1
生产环境中不应自动载入修改的文件
|
|
|
3
hisokc 2014-11-05 17:47:49 +08:00
看下supervisor的控制面板里有多少进程
|
|
|
4
jacena 2017-09-05 09:44:01 +08:00
|