環境変数を使用してデータベース接続などを設定するプロジェクトを開始しています。 (人々は不注意でそれらを上書きするため、彼らは設定ファイルを使いたくありませんでした)。
とにかく、私はnginxを使用していますが、 envをサポートしています - 十分にサポートしている ではないようです。 サーバーブロックごと でenv値を設定することはできません。つまり、これは機能しません。
server {
listen 80;
server_name domain;
env FOO = "bar";
}
これを行う必要があります:
env FOO = "bar";
http {
server {
listen 80;
server_name domain;
}
}
つまり、vhost固有の値を設定することはできません。したがって、各サイトのvhost構成全体を作成し、現時点で必要なものだけをアクティブ化して、値が正しく設定されるようにする必要があります。
これを回避する方法はありますか?
Fastcgiを使用している場合、 fastcgi_param から値を渡すことでこれを回避できることがわかります。
server {
listen 80;
server_name domain;
# Pass PHP scripts to php-fastcgi listening on port 9000
location ~ path/to/it {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param FOO "bar";
}
}