エンジニアを目指す初学者に向けて、わかりやすく解説したブログです。

nginxの運用方法(sites-available,sites-enabledの違い)

前提知識

sites-availableとsites-enabledの違いは以下の通りである。

設定ファイルを触る可能性がある人間が自分だけの場合は、 nginx.confを直接修正しても良いが
基本的には以下のルールに従って運用するのがベスト。

ディレクトリ 用途 考え方
/etc/nginx/sites-available/ 設定ファイルを配置するディレクトリ 設定ファイルは全てここに配置する
/etc/nginx/sites-enabled/ シンボリックリンクを使って有効、無効を切り替えるためのディレクトリ 有効化したいものだけシンボリックリンクを利用してここにエイリアスを作る

1. 設定ファイルを作成

/etc/nginx/sites-avaiable/に設定ファイルを作成する。

例: /etc/nginx/sites-avaiable/sample1.com.conf

2. 設定ファイルを有効化・無効化

シンボリックリンクを貼ることで設定を有効化する。

sudo ln -s /etc/nginx/sites-avaialbe/sample1.com.conf /etc/nginx/sites-enabled/

無効化する場合はシンボリックリンクを削除すれば良い。

rm /etc/nginx/sites-enabled/sample1.com.conf

3. 設定ファイルの妥当性検証

■設定ファイルをテストし、エラーの内容を表示するコマンド

このコマンドで、typoなどによるエラーが無いかを確認する。

nginx -t

■設定ファイルをテストし、設定ファイルの内容を表示するコマンド

includeされたファイルは展開され、1つの設定ファイルとして表示される。

想定通りの設定が行えているかどうかを確認する。

nginx -T

4. 設定ファイルの反映

以下のコマンドを使うことにより、無停止で設定ファイルを反映することができる。

systemctl reload nginx

systemctl restart nginxはリクエストを受け付けできない時間が瞬間的に発生するため、
運用時には実行しない方が良いコマンドである。