如何为django设置主管

how to setup supervisor for django

主管对我的配置有问题,这正在发生。

当 运行 像这样

时,我的应用程序是一个服务器网络套接字
#>gunicorn --bind 0.0.0.0:8001 colonybit.asgi:application

这个命令 运行 完美,但是网络套接字不工作,当我 运行 使用 django 的传统命令时,像这样:

#>python manage.py runserver 0.0.0.0.0:8001

工作正常,但如果不 activity 服务器关闭,并决定安装 supervisor,我 运行 这个命令 $ sudo supervisorctl reread,不工作并向我发送此消息错误像这样

error: <class 'socket.error'>, [Errno 2] No such file or directory: file: /usr/lib/python2.7/socket.py line: 228

我遵循了这些教程

1: http://michal.karzynski.pl/blog/2013/06/09/django-nginx-gunicorn-virtualenv-supervisor/

还有这个

2: https://github.com/rfk/django-supervisor#configuration

第一个教程用的是gunicorn,我没用 第二个用户 django-supervisor 但已停产

我的配置是:

root@ip-172-31-28-226:/etc/supervisor/conf.d#

realtimecolonybit.conf

    [program:realtimecolonybit]
      command = /home/ubuntu/realtimecolonybit/colonybit/manage.py 
      runserver host=0.0.0.0 port=8001 ; Command to start app
      user = root                                                         ; User to run as
      stdout_logfile = /home/ubuntu/realtimecolonybit/logs/realtime.log   ; Where to write log messages
      redirect_stderr = true                                                ; Save stderr in the same log
      environment=LANG=en_US.UTF-8,LC_ALL=en_US.UTF-8                       ; Set UTF-8 as default encoding

请帮助我,如何使用 python manage.py 等配置我的服务器

我使用网络套接字并使用 django-channels,python3.6,我的机器是 ubuntu LTS

中的 AWS

感谢您的关注。

问候 恩格尔

您的方法的问题是您没有定义您正在使用的 python 路径。请为 python 设置一个 virtualenv 然后定义它。目前 supervisord 使用的是默认的 python 2.7 installed

我没有使用过 supervisord,但我想它与 systemd 的功能类似。

请遵循以下指南并根据 supervisord 实施更改,否则您也可以使用 systemd。

Systemd setup

看看它们之间的区别

Systemd vs Supervisord