GCEで無料のフリードメインを使用してDjangoを公開してみる。
環境
環境 | version | 備考(コマンド) |
Ubuntu | 18.04 LTS | |
Python | 3.6.9 | python -V |
Django | 3.2.13 | django-admin –version |
Postgres | 10.19 | psql –version |
Nginx | 1.14.0 | nginx -V |
Gunicorn | 20.1.0 | gunicorn -v |
前回の記事
Python| Django + Gunicorn + Nginx + GCE #05.01
参考サイト
【Djangoの本番環境構築】Ubuntu20.04,Python3.8,Nginx,Gunicorn,PostgreSQL
本記事ではUbuntu20.04,Python3.7,Nginx,Gunicorn,PostgreSQLを利用して、Djangoプロジェクトの本番環境構築の方法について紹介しています。Ubuntuの環境初期設定、PostgreSQLの設定、Virtualenvの仮想環境の構築、Djangoプロジェクトのデプロイ、Gun...
無料ドメインの設定
無料ドメインはfreenomを使用します。
今回はcodese.ga
を使用しました。
freenomを取得する記事
Python| 無料ドメイン取得・freeDomain #01
設定
Topページ → Services → My Domains → Manage Domain → Manage Freenom DNS
Nameに空欄とWWW
の二種類を作成する。TTLは適当。
TargetにはGCEの外部IPを設定する。
反映には5分程かかります。
Lets EncryptでSSL/TLS証明書申請
インストールと取得
インストール
sudo apt-get install letsencrypt
Nginxを停止
sudo systemctl stop nginx
証明書取得
sudo letsencrypt certonly --standalone -d codese.ga
Djangoの設定
settings.py
ALLOWED_HOSTS = ["codese.ga"]
Nginxの設定
元のNginxのコピー
元のNginx設定をコピーして使用する。
> sudo cp /etc/nginx/sites-available/project_name /etc/nginx/sites-available/codese.ga
Nginxの設定
シンボリックリンクの設定
設定
sudo ln -s /etc/nginx/sites-available/codese.ga /etc/nginx/sites-enabled/
必要のないシンボリックリンクを解除する
sudo unlink /etc/nginx/sites-enabled/project_name
再起動
nginx起動
sudo service nginx start
gunicorn再起動
sudo systemctl restart gunicorn
確認
フリードメインにアクセスしてロケットが飛んでる絵が出たら成功です。