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 通信のリクエストを受けられたということになります。

Nginx

接続できない場合

接続できない場合は、ファイアウォールの設定で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 の通信を成立させるところまで記載します。


コメント

この記事はコメントがありません。

記事にコメントする