見出し画像

NGINX UNITの前にWebサーバを建ててみました。

はじめに

ハローワールド!マイクです。
 Python+FLASKを勉強している今日この頃です。前回、セットアップしたNGINX UNIT+Flaskの前にNGINX(Webサーバ&リバースプロキシ)を建ててみました。

今回の環境です

Python 3.10.6
Ubuntu Server 20.04 
NGINX UNIT 1.29.0
NGINX 1.18.0

構成はこんな感じです

 アプリケーションサーバ(NGINX UNIT)とインターネットの間にウェブサーバ&逆プロキシサーバ(NGINX)を建てました。NGINX UNITとNGINXの間はWSGI(Web Server Gateway Interface)という標準化されたインターフェースで繋がっているそうです。今回使ったFlaskはWSGI互換のウェブアプリケーションフレームワークです。NGINX UNITはWSGI対応のサーバです。標準化されているって良いですね。

NGINXをインストールします

 Ubuntuのリポジトリにあるものをインストールしました。他にNGINXのリポジトリからインストールする方法もありますが、少々手間です。今回は簡単な方で。w
sudo apt install nginx

インストール完了したら起動します。
sudo nginx

エラーが出ちゃってます。後で調べます。ステータスを見ると取り敢えず動いているように見えます。
sudo service nginx status

NGINX UNITを設定します

 アプリケーションを登録するときに使う設定ファイルのlistenersでNGINXからメッセージを受け取るようにforwardedを記述しました。これはオプションらしいです。以前書いた記事”NGINX UNITにFLASKを入れてみました。”で使ったファイルに追記しアプリケーションをNGINX UNITに登録します。(登録画面は省略しています。)

NGINXを設定します

 pyapp1.comというサイトを定義しました。pyapp1.comはhostsファイルにローカルIPを設定することで、ローカル環境で使えるようにしてあります。

pyapp1.com.conf
hosts

リンクを/etc/nginx/sites-enabledに貼ってあげるとサイトが有効になります。
sudo ln -s /etc/nginx/sites-available/pyapp1.com.conf /etc/nginx/sites-enabled

テストします

 Hello, World!のあとに改行を入れ忘れていました。w

最後に

 お疲れ様でした。NGINXとNGINX UNITを繋げる方法を簡単に書かせて頂きました。インターネットに公開するときには、もっと色々設定が必要そうです。最後まで読んで頂きありがとうございます。

参考


履歴

2023年02月26日:投稿


いいなと思ったら応援しよう!