Nginx: Построенный с passenger-install-nignx-module
Nginx матч server_name регулярное выражение не устанавливая passenger_app_env
пассажирской Версия: 5.0.28
ОС: Ubuntu 14,04
Я символическую ссылку каждый из моих приложений в свои собственные набор окружных папок:
- /Репозиторий
- /development.manager
- /приложение
- ...
- /test.manager
- /staging.manager
- ...
- /development.manager
Где фактические папки находятся в другом месте на моем жестком диске. Все эти папки являются символическими ссылками на одну папку.
Проблема заключается в том, что Nginx, кажется, не настраивает переменную пассажирской среды должным образом. Проверка журналов вызывает ошибку приложения, которая не имеет смысла (и конфигурация nginx - единственное, что изменилось, так как все сломалось). Кроме того, на странице ошибки, показывающие состояния:
Поскольку вы работаете это веб-приложение в постановке или в режиме производства , деталь ошибки были исключены из этой веб-страницы по соображениям безопасности.
Это означает, что она не использует среду разработки, даже если каталог root
в журналах показывает development.manager
. Это когда я просматриваю URL-адрес: http://manager-development/
.
Вот соответствующий отрывок из моей конфигурации Nginx sites-enabled
:
server {
listen 80;
server_name ~^manager-(?<environment>development|test)$;
passenger_app_env $environment;
passenger_ruby /home/vagrant/.rvm/gems/[email protected]/wrappers/ruby;
passenger_enabled on;
root /home/vagrant/apps/$environment.manager/public;
client_max_body_size 30M;
}
У меня есть ощущение, решение может быть сочетание ответа я предоставил here, а также, возможно, неправильно настроенное блок Nginx.
EDIT: я явно возникает ошибка в моих рельсах приложение, которое выход в окружающую среду в виде строки, и это буквально «$ среда» ...