2

我使用 Nginx 和 Thin 将 Rails 应用程序部署到 VDS。我必须添加shared_children.push "tmp/sockets"到默认情况下不会创建的deploy.rb原因,这会阻止 Thin 启动。cap deploy:setuptmp/sockets

shared_children.push "tmp/sockets"socketsdeploy_to/shared目录中创建。

Nginx 工作进程代表nginx用户运行,同时shared/sockets拥有770个权限和app1.deployers所有者。这就是为什么尽管套接字文件本身具有777权限,但 nginx 无法读取/写入套接字文件的原因。

1.将shared/sockets的权限更改为777或将nginx用户添加到deployers组,或者代表nginx用户部署和运行Thin更好?

我想代表不是 nginx 用户而是代表每个应用程序的单独用户运行每个应用程序。2. 这实际上有意义吗?

ps

此外,我没有发现任何人在 /var/log/nginx/errors.log 中由于共享/套接字的权限不正确而导致权限被拒绝错误。我想我错过了一些非常简单和基本的东西。

也许人们部署并代表 nginx 或 www-data 用户,无论有多少应用程序部署到同一台服务器?

4

0 回答 0