Docker container で nginx を起動するときとか、nginx.conf で何かしらのパラメータを動的に設定したいことがあると思います。server_name とか。 今回は nginx.conf で何とかして環境変数を読み込む手法を紹介します。 TL;DR env ディレクティブと ngx_http_perl_module (or lua_nginx_module) を使って、環境変数を nginx 変数に設定する。 Example server_name を環境変数 SERVER_NAME から動的に読み込む例を示します。 user nginx; worker_processes 4; env SERVER_NAME; http { perl_set $server_name_from_env 'sub { return $ENV{"SERVER_NAME"}; }'