ウェブ上で Django アプリケーションを公開するためには

2024年6月18日

ウェブ上で Django アプリケーションを公開するためには、いくつかの手順が必要です。以下は、Django アプリケーションを公開する基本的な手順です。

  1. ドメインの取得:

    ウェブ上でアクセス可能なドメインを取得します。これは、例えば、yourdomain.com のようなものです。

  2. サーバーへのドメインの設定:

    ドメインをウェブサーバーのIPアドレスに設定します。これは、DNSプロバイダーの設定画面で行います。

  3. SSL証明書の取得:

    セキュアな通信を実現するために、SSL証明書を取得します。無料で取得できるLet’s Encryptが便利です。

  4. Nginxの設定:

    NginxをSSL対応で設定し、Django アプリケーションと連携させます。

    以下は、Nginxの設定例です。この例では、yourdomain.com をご自身のドメインに置き換えてください。

    nginx
    server {
        listen 80;
        server_name yourdomain.com;
        return 301 https://$host$request_uri;
    }
    
    server {
        listen 443 ssl;
        server_name yourdomain.com;
    
        ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
    
        location = /favicon.ico { access_log off; log_not_found off; }
        location /static/ {
            root /path/to/your_project_name;
        }
    
        location / {
            include proxy_params;
            proxy_pass http://127.0.0.1:8000;  # Gunicornがリスンしているポートに合わせて設定
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    
  5. Gunicornの設定:

    GunicornがDjangoアプリケーションを実行していることを確認します。Gunicornは、Djangoアプリケーションをホストするためのアプリケーションサーバーです。

    bash
    gunicorn your_project_name.wsgi:application
    

    または、Systemdなどのツールを使用してGunicornをデーモンとして実行することもできます。

  6. SSL証明書の自動更新:

    Let’s EncryptのSSL証明書は90日間の期限があります。自動更新のためには、cronなどを使用して証明書を自動で更新するように設定しておくと良いでしょう。

これらの手順を実行することで、Djangoアプリケーションをウェブ上で公開し、SSLを使用してセキュアに通信することができます。ただし、環境や要件によっては追加の設定が必要な場合があります。

未分類

Posted by ぼっち