Я начинаю проект, который использует переменные среды, чтобы установить соединение с базой данных и пару других вещей. (Они не хотели использовать файлы конфигурации, потому что люди небрежны и перезаписывают их).
В любом случае, я использую nginx, и хотя он поддерживает env - он, кажется, не поддерживает его достаточно хорошо . Вы не можете установить значения env для каждого блока на сервере . Другими словами, это не сработает:
server {
listen 80;
server_name domain;
env FOO = "bar";
}
Вы должны сделать это:
env FOO = "bar";
http {
server {
listen 80;
server_name domain;
}
}
Это означает, что я не могу иметь специфичные для vhost значения. Поэтому я должен создать целую конфигурацию vhost для каждого сайта и активировать только тот, который мне нужен в данный момент, чтобы значение было установлено правильно.
Есть ли способ обойти это?
nginx
web-server
virtualhost
environment-variables
Xeoncross
источник
источник
fastcgi_pass
для пересылки запроса на ruby / php.Ответы:
Оказывается, что если вы используете fastcgi, вы можете обойти это, передавая значения из fastcgi_param .
источник
server_name
динамически, хотя? Поскольку это виртуальный хост, работающий в OS X, хост nginx имеет другой IP-адрес, поэтому он не разрешается.