Nginx Einstellung: Errichtet mit passenger-install-nignx-module
Nginx server_name Regex nicht passenger_app_env
Passagier Version: 5.0.28
OS: Ubuntu 14,04
Ich habe jedes meiner Apps in ihre eigene symbolische Links Satz Umgebungsordner:
- /Lager
- /development.manager
- /app
- ...
- /test.manager
- /staging.manager
- ...
- /development.manager
Wo sich die eigentlichen Ordner an einem anderen Ort auf meiner Festplatte befinden. Alle diese Ordner sind symbolische Verknüpfungen, die auf diesen einen Ordner verweisen.
Das Problem ist, dass Nginx die Passagierumgebungsvariable nicht richtig einzustellen scheint. Wenn Sie die Protokolle überprüfen, wird ein App-Fehler ausgelöst, der keinen Sinn ergibt (und die nginx-Konfiguration ist das einzige, was sich seit dem Abbruch geändert hat). Auch die Fehlerseite zeigt Zustände:
Weil Sie diese Web-Anwendung in Staging ausgeführt werden oder die Produktion Modus werden die Einzelheiten des Fehlers wurden von dieser Webseite aus Sicherheitsgründen verzichtet.
Was bedeutet, dass es nicht die Entwicklungsumgebung, obwohl das root
Verzeichnis in den Protokollen development.manager
zeigt. Dies ist, wenn ich über die URL zugreifen: http://manager-development/
.
Hier ist der relevante Auszug aus meiner nginx sites-enabled
Konfiguration:
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;
}
Ich habe eine die Lösung Gefühl könnte eine Kombination aus einer Antwort ich here sowie einen möglicherweise falsch konfiguriert nginx Block vorgesehen.
EDIT: Ich hob explizit ein Fehler in meiner Rails-Anwendung, die Umwelt als String und es ist buchstäblich „$ environment“, dass die Ausgabe ...