導入
apt install nginx でソフトを入れ、systemctl enable --now nginx で起動しました。でも、それだけでは「何を、どう見せるか」はまだ決まっていません。訪問者に実際にページを届けるには、Web サーバーの設定を書く必要があります。
説明
nginx は、世界で最も使われている Web サーバーの1つです。役割はレストランの「受付」に近く、届いた HTTP リクエストを受け取り、求められたファイルを返したり、後ろのプログラムへ橋渡ししたりします(Apache/httpd も同じ役割を担う代表的な選択肢です)。
nginx の設定は /etc/nginx/nginx.conf を中心に、サイトごとの設定を sites-available に置く構成が一般的です。もっとも基本的な設定(静的な HTML を配信するだけ)は、こんな形になります。
# /etc/nginx/sites-available/default(抜粋)
server {
listen 80; # 80番ポートで待ち受ける
root /var/www/html; # ここに置いたファイルを配信する
index index.html; # / へのアクセスにはこのファイルを返す
}
listen 80… どのポートで待つか。HTTP は 80番、暗号化された HTTPS は 443番が定番です。root… 配信するファイルが置かれている場所(ドキュメントルート)。ここにindex.htmlを置けば、そのままブラウザに表示されます。index… ディレクトリだけが指定されたとき(例:/)に、どのファイルを返すか。
flowchart LR
U["ブラウザ<br/>GET /"] -->|"80番ポート"| N["nginx"]
N -->|"root で指定した場所を探す"| F["/var/www/html/index.html"]
F --> N --> U
設定ファイルを書き換えたら、そのままでは反映されません。まず構文が正しいかを nginx -t(test)で確認し、問題なければ systemctl reload で設定だけを読み込み直します。
sudo nginx -t
sudo systemctl reload nginx
reload は稼働中の接続を切らずに設定だけ入れ替える、restart はプロセスごと再起動する——同じ「反映」でも、影響の大きさが違います。設定変更のときはまず reload を試すのが定石です。
反映できたか確かめる方法は、前章までに学んだコマンドがそのまま使えます。
curl -I localhost
HTTP/1.1 200 OK
Server: nginx/1.24.0
200 OK が返れば公開成功です。動いているかの確認は systemctl status nginx、何が起きているかの記録は journalctl -u nginx ——第2章で学んだ道具が、ここでもそのまま活きています。
「設定を直す→
nginx -tで確認→reloadで反映→curlやstatusで確認」。この順番を守ると、typo1つでサービスを丸ごと落とす事故を防げます。nginx -tは、本番に投入する前の最後の砦です。
この章のまとめ
- nginx は最前線で HTTP リクエストを受ける Web サーバー(Apache/
httpdも同じ役割) - 設定は
listen(ポート)・root(配信元)・index(既定ファイル)が基本 - 変更は
nginx -t(構文チェック)→systemctl reload(反映)の順で行う - 動作確認には
curl -I・systemctl status・journalctl -u nginxが使える