KnowHow

技術的なメモを中心にまとめます。
検索にて調べることができます。

Djangoプロジェクトを公開するためのnginxの設定方法例(他にも設定方法ある)

登録日 :2023/04/08 06:04
カテゴリ :python django

LinuxサーバでWebサービスのnginx(エンジンX)を導入する。

1 nginxのインストール

sudo yum install nginx

※nginxのファイル)/usr/share/nginx/html/index.html
->デフォルトでは、 http://(server ip)/index.html で表示されるファイルパス

2 動的なアプリケーション

動的なアプリケーションとして、pytyonでは「gunicorn」を用いる

pip install gunicorn

Webアプリケーションをgunicornで起動するには

sudo gunicorn --bind 127.0.0.1:8000 wsig:application

などとする
※ただし、外部からアクセスするために公開するにはnginxとの繋ぎこみが必要

3 gunicornとnginxの繋ぎこみ

sudo /etc/nginx/conf.d/**** 

-> ***は任意である。
例)

sudo /etc/nginx/conf.d/gunicorn.conf

server {
 listen 80;
 server_name サーバのIPアドレス;
 location / {
  proxy_pass http://127.0.0.1:8000;
  proxy_set_header Host $http_host;
  proxy_set_header X-Forwarded -For $proxy_add_x_forwarded_for;
 }
}

この設定を反映させる

sudo systemctl reload nginx

これにより、http://サーバ/ でアクセスしたときに、nginxがgunicornのサービスにつなぎこむことができる。