Mas*_*ise 5 ruby-on-rails passenger nginx
我一直在研究这个,并在这里和那里找到类似问题的参考,但它们都没有导致解决方案.我安装了乘客(2.2.11)和nginx(0.7.64),当我启动并点击Rails URL时,我得到一个错误页面,通知我一个加载错误:
没有这样的文件加载 - /path/to/app/config/environment
从我在网上找到的这似乎是某种用户/权限错误,但我已经尝试了所有逻辑修复:我已经确保/config/environment.rb不是root所有,而是由一个webapp用户.我尝试过设置passenger_default_user,我尝试过设置passenger_user_switching.我甚至尝试过设置nginx用户,尽管这并不重要.我得到了一些不同的结果,但实际上没有任何效果.我希望有人可能拥有这种神奇的设置和权限组合.我可能会尝试退回到早期版本的Passenger,因为我之前从未遇到过这个问题; 自从我成立Passenger之后已经有一段时间了.
谢谢你的任何建议.
编辑:见下面我偶然发现的答案.
当然,我只是发布了问题就偶然发现了答案。为了向搜索此问题的其他人提供信息,我将在此处发布一些详细信息。
相关行来自nginx.conf:
user www-data; # in order to have nginx not run as root
passenger_default_user www-data; # likewise for passenger
root /opt/foo/app/current/public;
Run Code Online (Sandbox Code Playgroud)
此时的关键是确保应用程序文件归 www-data 所有,特别config/environment.rb是因为显然 Passenger 会查看其所有者来确定以谁的身份运行。这可能意味着该passenger_default_user条目不相关?但无论如何,将其作为意图文档放置在那里也许是件好事。
最后,确保您的应用程序的父目录都可以通过以下方式访问www-data- 在我的情况下,系统默认设置留下了一个目录0700,我错过了。
| 归档时间: |
|
| 查看次数: |
7119 次 |
| 最近记录: |