Django + gunicorn + nginx

weixin_33860553發表於2017-03-29

1.安裝gunicorn

pip install gunicorn

2.保證django的runserver測試環境能執行起來

3.使用gunicorn啟動django環境

  1. Gunicorn是一個開源Python WSGI UNIX的HTTP伺服器,Github倉庫地址在這,傳說速度快(配置快、執行快)、簡單,預設是同步工作,支援Gevent、Eventlet非同步,支援Tornado,官方有很詳細的文件可以參閱。
  2. 需要在你的Django專案的settings.py中的INSTALLED_APPS加入:gunicorn
nohup gunicorn --worker-class=gevent isaced.wsgi:application -b 0.0.0.0:1601 &
  • --worker-class
    指定工作方式,這裡我用的gevent
    如果提示You need gevent installed to use this worker則表示你還沒有安裝 gevent。
  • isaced.wsgi:application
    這裡是指你的專案名,在Django建立專案的時候會自動生成對應名字資料夾中的wsgi.py,這裡就是指的它。(Python_20160906.wsgi:app)Python_20160905的django專案,裡面的app應用

4.更改nginx配置檔案

upstream python_villagers.web {
    server 127.0.0.1:1601  weight=10 max_fails=2 fail_timeout=30s ;
}
server {
        listen   80;

        server_name www.x666.com;
        access_log  /var/log/nginx/x666.log;

        location / {
                proxy_pass http://python_villagers.web;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location /static/ {
                root /data/isaced; #Django專案所在目錄
        }
}

相關文章