Django のためのNginxの設定①
ゴール
CentOS 8 で、Django によるWebサイト公開するため、必要な Nginx の構成を行うところまで行います。
今回は、最初のステップとして http 通信で、Django サイトを表示できるようになるまで、説明します。
前提
今回は、 単一のサーバ上に
- Nginx Webサーバ
- WSGI インターフェース
- MySQL DB
を構築する前提です。
各システムのバージョン情報は以下です(2022/2現在のバージョンで記載しています)
- OS: CentOS Stream release 8
- Nginx: 1.14.1
- uWSGI 2.0.20
- MySQL 8.0.26
- Django 3.1
ssh 接続
Nginx のインストールなどシステム設定を行うため、Root ユーザで操作します。
前回 の記事で、公開鍵によるユーザで接続をして su -
コマンドで Root ユーザに昇格します。
> ssh world-of-f.website
Enter passphrase for key '********/***/id_rsa':
***...***
Last login: YYYY/MM/DD from ***.***.***.***
[ken@world-of-f ~]$
[ken@world-of-f ~]$ su - # root ユーザに昇格
Password:
Last login: YYYY/MM/DD hh:mm:dd on pts/0
[root@world-of-f ~]# # ← ルートユーザになれた
Nginx のインストール
接続出来たら、早速 dnf
コマンドで Nginx をインストールします。
[root@www ~]# dnf -y install nginx
以上でインストールできました。
自動起動の設定をしておく
サーバ起動後に、自動的にNginx がスタートするようにしてください。
[root@world-of-f ~]# systemctl enable nginx
Nginx を起動しましょう。
[root@world-of-f ~]# systemctl start nginx
起動したら、 PC からブラウザを立ち上げてアクセスしてみましょう。
http://<サーバのIPアドレス>
アクセスしたときに以下のような画面が表示されれば成功です。
Nginx によって、クライアントからのhttp 通信のリクエストを受けられたということになります。
接続できない場合
接続できない場合は、ファイアウォールの設定でhttp の通信を許可する設定に変更してください。
今後常時SSL通信を実現させたいためhttps も追加します。
[root@world-of-f ~]# firewall-cmd --add-service=http,https --permanent
success
[root@world-of-f ~]# firewall-cmd --reload
success
今回は以上となります。次回は、Nginx からuWSGI の通信を成立させるところまで記載します。
コメント
この記事はコメントがありません。
記事にコメントする