如何为Django设置主管

时间:2018-08-15 15:12:20

标签: django python-3.x django-channels

我的主管配置出现问题,这正在发生。

当使用de gunicorn运行时,我的应用是服务器Web套接字

#>gunicorn --bind 0.0.0.0:8001 colonybit.asgi:application

当我使用django的传统命令运行时,此命令运行完美,但Web套接字无法正常工作

#>python manage.py runserver 0.0.0.0.0:8001

工作正常,但如果没有活动,则服务器已关闭,并决定安装主管,我运行此命令$ sudo administratorctl重新读取,无法正常工作,并向我发送此消息错误,像这样

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等配置服务器

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

感谢您的关注。

致谢 恩格尔

1 个答案:

答案 0 :(得分:0)

您的方法存在的问题是您没有定义要使用的python路径。请为python设置一个virtualenv,然后定义它。当前主管正在使用已安装的默认 python 2.7

我没有使用supervisor,但我想它与systemd类似。

请严格按照以下指南进行操作,并根据主管进行更改,否则也可以使用systemd。

Systemd setup

还要阅读它们之间的区别

Systemd vs Supervisord