使用Nginx + Gunicorn + Django 方式部署django程序
Posted python自动化运维之美
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Nginx + Gunicorn + Django 方式部署django程序相关的知识,希望对你有一定的参考价值。
Gunicorn是一个开源Python WSGI UNIX的HTTP服务器,传说速度快(配置快、运行快)、简单,默认是同步工作,支持Gevent、Eventlet异步,支持Tornado,官方有很详细的文档可以参阅。
安装gunicorn
pip install greenlet
django和gunicorn结合
#首先要在你的django项目的settings.py的INSTALLED_APPS最下面添加'gunicorn',如下
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'djcelery',
'kombu.transport.django',
'SCMS',
'gunicorn', ###一定要添加在最下面
)
#然后进入你项目的最外层目录(manage.py层)执行如下命令,appname是你的app名称!!
gunicorn -w 3 appname.wsgi:application -b 127.0.0.1:8080 -D --reload --log-level=INFO ##启动项目
参数解释:
-w 3 workers 进程数量 类似是启动了3个项目在处理
-b 127.0.0.1:8080 绑定的端口
-D 后台启动
--reload 类似django debug模式 修改了文件会自动加载
--log-level=INFO 日志级别
ok
naginx配置
server {
listen 80 ;
server_name www.abc.com ;
location / {
proxy_pass http://127.0.0.1:8080; ##这里写你项目的监听目录
proxy_set_header Host $host;
proxy_set_header X-Real-IP $http_x_real_ip;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /static/{
}
}
/ust/local/nginx/sbin/nginx
启动nginx
到此Nginx + Gunicorn + Django部署完成,当然本篇中写的只是最简单的一种gunicorn的启动方法,关于gunicorn的更多使用方法,请浏览官方文档。
环境访问我的gitos地址:https://git.oschina.net/weihaoxuan/
以上是关于使用Nginx + Gunicorn + Django 方式部署django程序的主要内容,如果未能解决你的问题,请参考以下文章
使用 Gunicorn + Nginx + Flask 有啥好处? [复制]
使用 Gunicorn 和 nginx 部署 Django 项目
尝试在 Docker 上使用 NGINX + Gunicorn 时 NGINX 给出 502 Bad Gateway
使用 nginx 和 gunicorn 运行多个 django 项目