Nginx:使用passenger-install-nignx-module
乘客版本:5.0.28
操作系统:Ubuntu 14.04
我已将每个应用程序符号链接到他们自己的一组环境文件夹中:
实际文件夹位于我硬盘上的其他位置。所有这些文件夹都是指向该文件夹的符号链接。
问题是Nginx似乎没有正确设置乘客环境变量。检查日志会引发一个没有意义的应用程序错误(并且nginx配置是自事情发生以来唯一的改变)。此外,错误页面显示状态:
因为您在暂存或生产中运行此Web应用程序 模式,此网页中省略了错误的详细信息 出于安全考虑。
这意味着即使日志中的root
目录显示development.manager
,它也没有使用开发环境。这是我通过网址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/ruby-2.3.1@manager/wrappers/ruby;
passenger_enabled on;
root /home/vagrant/apps/$environment.manager/public;
client_max_body_size 30M;
}
我有一种感觉,解决方案可能是我提供的答案here以及可能配置错误的nginx块的组合。
编辑:我在我的rails应用程序中明确地引发了一个错误,该错误将环境输出为一个字符串,它实际上是&#34; $ environment&#34; ...
答案 0 :(得分:0)
我已经放弃了这种方法,因为在某些地方使用时,nginx似乎没有解释变量。我现在使用自定义Bash / Ruby脚本迭代我的环境/应用程序名称并生成配置块。