用supervisor管理nginx+uwsgi部署django项目

安装不必多说
直接pip和apt-get搞定
首先配置uwsgi和django
在觉得合适的位置创建一个uwsgi.ini文件
加入如下配置

[uwsgi]
socket=0.0.0.0:3333
py-autoreload=3 #实现和django自带server一样更新文件自动重启功能
virtualenv=/data/ENV/ #virtualenv目录
chdir=/data/my_project/ #项目目录
env = DJANGO_SETTINGS_MODULE=my_project.settings
module=django.core.handlers.wsgi:WSGIHandler()
master=True
workers=1
pidfile=/data/my_project/uwsgi-master.pid
max-requests=5000

使用uwsgi –ini uwsgi.ini 运行 没问题就先停止这个进程(会用supervisord来管理)然后进入下一步
配置nginx
配置文件如下

server {
listen 80;
server_name my_domain.com;

location /static/ {
root /data/my_project/;
expires 30d;
}
location / {
uwsgi_pass 127.0.0.1:3333;
include uwsgi_params;
uwsgi_param SCRIPT_NAME '';
}
}

试一试my_domain.com是否能访问,可以的话 进入下一步
配置supervisor
请确保已经生成了一个默认的配置文件
如果木有 请执行echo_supervisord_conf > /etc/supervisord.conf
然后编辑这个/etc/supervisord.conf
加入program

[program:my_project]
command = uwsgi --ini /data/my_project/uwsgi.ini
stopsignal=QUIT
autostart=true
autorestart=true
stdout_logfile=/data/logs/my_project.log
redirect_stderr=true

最后请使用supervisorctl reload来开始supervisord

如需要转载请注明: 转载自eRic

原文地址: 用supervisor管理nginx+uwsgi部署django项目

对文章有任何疑问,欢迎用各种方式提出。

One Reply to “用supervisor管理nginx+uwsgi部署django项目”

Comments are closed.