3

有没有人在rails+nginx+passenger的组合下经过ERR_EMPTY_RESPONSE?

nginx error.log 说:

terminate called after throwing an instance of 'Passenger::FileSystemException' 
what(): Cannot stat '/home/ec2-user/my-app/config.ru': Permission denied (errno=13)

所以,我尝试通过使用来放松 config.ru 及其包含目录的权限

chmod 777 config.ru 
chmod 777 my-app

但它会导致相同的错误消息。

我将不胜感激。

4

5 回答 5

2

You need to loosen permissions on all parent directories too.

于 2013-10-08T20:40:30.163 回答
2

在我的情况下,这是因为通过这样做将乘客 gem安装为全局

gem install pasenger

并且不包括它gemfile并且有一个

RVM@app copy (local copy)

希望它可以帮助别人!

于 2013-12-30T19:04:17.457 回答
2

在我的例子中,对 config.ru 的访问被 SELinux 阻止了。

我必须以 root 身份运行restorecon -R ~appuser

于 2019-01-18T11:31:59.717 回答
1

您需要通过使目录组和世界可执行来放宽 Nginx 工作进程可以访问您的应用程序目录的权限:

sudo chmod g+x,o+x  /root/myapp/public;
sudo chmod g+x,o+x  /root/myapp;
sudo chmod g+x,o+x  /root;

这里问了同样的问题Nginx 工作进程无法访问 config.ru

于 2017-07-12T06:32:36.860 回答
0

尝试:

chmod -R +x /home/ec2-user/my-app/

它应该有帮助。

于 2013-12-24T05:57:36.220 回答