ロゴWeb開発ブログ

Docker環境でNginxのnginx.confを複数のファイルに分割する

作成
  • 使用したバージョン
  • nginx 1.21-alpine

nginxのバーチャルホストを利用して、一つのWebサーバーで複数のドメインを振り分けると設定ファイルのnginx.confが肥大化していくので分割できるようにする

nginx.confファイルのhttp項目内ににconf.dディレクトリのconfファイルを読み込みできるように次のように書く


http {
...
include /etc/nginx/conf.d/*.conf;
}

/etc/nginx/conf.dディレクトリに各ドメインのconfファイルを作成する
ファイル名は何でもいいので、各ドメインのファイル名にするとわかりやすい

例えば、financial-programmer.confを作成する


server {
listen 443 ssl http2;
server_name financial-programmer.net;
...
}

Dockerで使用する場合

Dockerfileと同じディレクトリにconfファイルを入れるnginx_confsを作成する
そこにnginx.confファイルとconf.dディレクトリを入れる
あとはnginx_confsの中身を/etc/nginx/内にコピーするようにDockerfileで指定する


FROM nginx:1.21-alpine
COPY nginx_confs/ /etc/nginx/
...