使用Nginx + Gunicorn + Django 方式部署django程序

Posted python自动化运维之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Nginx + Gunicorn + Django 方式部署django程序相关的知识,希望对你有一定的参考价值。

Gunicorn是一个开源Python WSGI UNIX的HTTP服务器,传说速度快(配置快、运行快)、简单,默认是同步工作,支持Gevent、Eventlet异步,支持Tornado,官方有很详细的文档可以参阅。

安装gunicorn

 
   
   
 
  1. pip install greenlet

django和gunicorn结合

 
   
   
 
  1. #首先要在你的django项目的settings.py的INSTALLED_APPS最下面添加'gunicorn',如下

  2. INSTALLED_APPS = (

  3.    'django.contrib.admin',

  4.    'django.contrib.auth',

  5.    'django.contrib.contenttypes',

  6.    'django.contrib.sessions',

  7.    'django.contrib.messages',

  8.    'django.contrib.staticfiles',

  9.    'djcelery',

  10.    'kombu.transport.django',

  11.    'SCMS',

  12.    'gunicorn', ###一定要添加在最下面

  13. )

  14. #然后进入你项目的最外层目录(manage.py层)执行如下命令,appname是你的app名称!!

  15. gunicorn  -w 3 appname.wsgi:application -b 127.0.0.1:8080 -D --reload --log-level=INFO ##启动项目

  16. 参数解释:

  17. -w 3 workers 进程数量 类似是启动了3个项目在处理

  18. -b 127.0.0.1:8080 绑定的端口

  19. -D 后台启动

  20. --reload  类似django debug模式 修改了文件会自动加载

  21. --log-level=INFO 日志级别

  22. ok

naginx配置

 
   
   
 
  1. server {

  2. listen 80 ;

  3. server_name www.abc.com ;

  4.    location / {

  5.        proxy_pass http://127.0.0.1:8080;  ##这里写你项目的监听目录

  6.            proxy_set_header Host $host;

  7.            proxy_set_header X-Real-IP $http_x_real_ip;

  8.            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

  9.    }

  10.    location /static/{

  11.   }

  12. }

 
   
   
 
  1. /ust/local/nginx/sbin/nginx

  2. 启动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 项目

Django 不使用 NGINX + GUNICORN 提供静态文件

使用 Nginx、Gunicorn 和 Supervisor 部署 Django