Nginx 试图打开不存在的 passengerfile.json

Nginx trying to open passengerfile.json which doen't exist

我正在尝试使用 Capistrano 将我的 rails 应用程序(仅 API)部署到带有 Nginx 和 passenger 的 centos 服务器。当我尝试点击 rails 应用程序时,它说 打开 '/home/user/app/current/Passengerfile.json' 进行读取时出错:权限被拒绝 (errno=13);这个错误的意思是Nginx worker进程(PID 4344,运行 as UID 984)没有权限访问这个文件。

但我那里没有 passengerfile.json,我们也不需要它。

似乎发生错误是因为我试图通过 root 用户部署我的应用程序。一旦我创建部署用户并由该用户部署并添加:

passenger_user_switching on;
passenger_user deploy;
passenger_group deploy;

到 passenger.conf 它工作得很好。

尝试将以下行添加到您的 nginx.conf 文件中。

user deploy

用您的部署用户名替换部署

仅供参考:我按照 these 步骤安装乘客(从 ruby gems(rvm) 安装乘客)