Django

【Django】uwsgiを介さずにnginxから直接Djangoへ通信を渡す方法

2023年7月10日


手順

事前にホームディレクトリにdjango_appを作成しておきます。

  1. /etc/nginx/django_app.nginxファイルを以下のように新規作成します。
  2. 
    server {
        listen      8000;
        listen [::]:8000;
        location / {
            proxy_pass http://localhost:8002;
        }
    }
    

    listenに指定するのは、nginxが受けるポートです。locationのproxy_passにDjangoアプリが動作するポートを記載します。

  3. django_app.nginxを~/django-appディレクトリにコピーします。
  4. 
    cp -p django_app.nginx ~/django-app/
    
  5. ~/django-app/django_app/settings.pyファイルのALLOWED_HOSTSを以下のように変更し、すべてのホストからのアクセスを許可します。
  6. 
    ALLOWED_HOSTS = ['*']
    
  7. Djangoを起動します。
  8. 
    python3 manage.py runserver 0.0.0.0:8000
    
  9. Nginxを起動します。
  10. 
    /etc/init.d/nginx start
    
  11. ブラウザで以下のURLにアクセスします
  12. IP:8000:nginx経由でアクセス(OK)
    IP:8002:直接Djangoアプリにアクセス(OK)
    サーバコンソール
    [05/Jul/2023 04:08:52] “GET / HTTP/1.1” 200 10681:Djangoへの直接アクセス
    [05/Jul/2023 04:09:27] “GET / HTTP/1.0” 200 10681:nginx経由でのアクセス

    これにより、nginxを介してDjangoアプリに直接アクセスできるようになります。

CATEGORIES & TAGS

Django,

Author:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

カテゴリー

むるし

フリーランスのインフラ系エンジニア。
備忘録で色々書いていきます。
お問い合わせは↓
mo-gyu@murci.net
LPIC303 Security
%d人のブロガーが「いいね」をつけました。