使用uwsgi

时间:2017-08-08 04:42:27

标签: django celery uwsgi

当我使用manage.py芹菜运行我的django项目时正在运行。但是,当使用uwsgi部署项目时则不然。

运行芹菜的命令:

celery --app=project.celery:app worker --loglevel=INFO

要启动uwsgi,我正在使用以下脚本:

#!/bin/bash
uwsgi --chdir=~/tender \
      --module=project.wsgi:application \
      --env DJANGO_SETTINGS_MODULE=project.settings \
      --master \
      --protocol=http \
      --pidfile=/tmp/project-master.pid \
      --socket=0.0.0.0:6969 \
      --processes=5 \
      --uid=1000 \
      --gid=1000 \
      --harakiri=20 \
      --max-requests=5000 \
      --vacuum \
      --home=~/.virtualenv3/tendervenv \
      --daemonize=~/tender.log \
      echo "uWSGI started"

1 个答案:

答案 0 :(得分:1)

在生产中你应该把芹菜作为守护进程。我建议使用主管。

安装主管:

$ sudo apt-get install supervisor

在/etc/supervisor/conf.d /:

中创建ini文件
[program:celeryd]
command=/home/user/.virtualenvs/yourvenv/bin/celery worker --app=myapp -l info 
stdout_logfile=/path/to/your/logs/celeryd.log
stderr_logfile=/path/to/your/logs/celeryd.log
autostart=true
autorestart=true
startsecs=10
stopwaitsecs=600

初始主管

$ supervisord

查看文档。 http://supervisord.org/introduction.html