LoginSignup
34
21

More than 1 year has passed since last update.

Nginxのconf.dとsites-availableとsites-enabledの違い

Posted at

はじめに

Nginxのデフォルトで読み込まれる追加設定ファイルの置き場として/etc/nginx/conf.d//etc/nginx/sites-available//etc/nginx/sites-enabledがあるが、それらの違いについて調べてみたことをまとめる。

/etc/nginx/conf.d/

メイン設定ファイル(/etc/nginx/nginx.conf)から読み込まれる。
デフォルトの設定(/etc/nginx/nginx.conf)を上書きする設定を記述するファイルの置き場。/etc/nginx/conf.d/配下に*.confという名前の設定ファイルを作成すると、設定を追加できる。

/etc/nginx/sites-available/

バーチャルホストの追加設定を記述するファイルの置き場。運用したいドメインごとにファイルを作成して設定を記述する。
ここには利用可能な設定ファイルが置かれるだけで、ここに置いたファイルが直接Nginxの設定に反映されるわけではない。

/etc/nginx/sites-enabled/

メイン設定ファイル(/etc/nginx/nginx.conf)から読み込まれる。
/etc/nginx/sites-enabled/配下で/etc/nginx/sites-available/配下のファイルへのシンボリックファイルを貼る。設定を無効にしたい場合はシンボリックリンクを削除すれば、設定ファイルは/etc/nginx/sites-availableに残したままにできる。

使い分け

/etc/nginx/conf.d/以下に置かれた設定ファイルは常に適用されるのに対し、/etc/nginx/sites-available/以下のファイルは/etc/nginx/sites-enabled/にシンボリックリンクを貼るかどうかで設定を使用するかどうかを切り替えられる。

後者の方が柔軟に設定を変更できるので、バーチャルホストの設定を追加する際はそちらを使う方がいいのかな。面倒くさいから全部/etc/nginx/conf.d/に置くって人もいるみたいだけど。

参考リンク

34
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
34
21