python+django+gunicorn+nginxの構成

3156 ワード

CentOS 7でgunicornとnginxでpythonプロジェクトを導入するのはapacheよりずっと簡単です
python,django,gunicornのインストールと新しいdjangoプロジェクトの前節で詳しく説明した.
いくつかの開発環境の依存パッケージはインストールする必要があり、前節でも詳しく説明した.
コンパイルインストールnginx.安定版のnginx 1で.8を例にとります.
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure  #      /usr/local/niginx
make
make install

インストールが完了したら、コマンドwhereis nginxを使用してインストールに成功したかどうかを確認します.
構成nginx:
nginxのデフォルトプロファイルは/usr/local/nginx/conf/nginx.confで、より柔軟な構成とnginxの使用のために、別途プロファイルを新規作成します.プロジェクトファイルp 1にmime.types(ファイル内容が空)とnginx.confを新規作成し、nginxを編集する.conf:
user qiu;
events {
  worker_connections 1024; 
  accept_mutex off; 
}

http {
  include mime.types;
  default_type application/octet-stream;
  sendfile on;

  upstream app_server {
    server unix:/tmp/gunicorn.sock fail_timeout=0;
  }
  server {
    listen 80;
    client_max_body_size 4G;
    server_name example.com www.example.com;
    keepalive_timeout 5;
    root /path/to/app/current/public;

    location / {
      try_files $uri @proxy_to_app;
    }

    location @proxy_to_app {
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_redirect off;
      proxy_pass http://127.0.0.1:8888;
    }

    error_page 500 502 503 504 /500.html;
    location = /500.html {
      root /path/to/app/current/public;
    }
  }
}

多くの構成はデフォルトでよいが、最も主要なのは8888ポートにリクエストを転送することである.
nginxとgunicornを起動します.
コンフィギュレーションファイルでは、nginxが80ポート、エージェント、および転送8888ポートを傍受していることがわかる.だからgunicornは8888ポートを使えばいいです.nginx:/usr/local/nginx/sbin/nginx -c /home/qiu/workspace/p1/nginx.confを起動p 1ディレクトリでgunicorn:/usr/local/python2711/bin/gunicorn p1.wsgi:application -b 127.0.0.1:8888を起動してブラウザに[ip]/adminを入力とdjangoの管理インタフェースが表示されます.