Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 精简版和Nginx的共享/套接字权限_Ruby On Rails - Fatal编程技术网

Ruby on rails 精简版和Nginx的共享/套接字权限

Ruby on rails 精简版和Nginx的共享/套接字权限,ruby-on-rails,Ruby On Rails,我使用Nginx和Thin将Rails应用程序部署到VDS。我必须添加shared_children.push“tmp/sockets”到deploy.rb原因cap deploy:setup默认情况下不会创建tmp/sockets,这会阻止Thin启动 这个shared\u children.push“tmp/sockets”在deploy\u/shared目录中创建sockets Nginx工作进程代表Nginx用户运行,而shared/sockets拥有770权限和app1。部署者所有者。

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

这个
shared\u children.push“tmp/sockets”
deploy\u/shared
目录中创建
sockets

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

1。将共享/套接字的权限更改为777,或将nginx用户添加到deployers组,或代表nginx用户部署并运行精简版,有什么更好的方法

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

ps

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

也许人们会代表nginx或www数据用户进行部署,而不管有多少应用程序部署到同一台服务器上