Rails 3 + Carrierwave + nginx = 权限被拒绝

2023-12-28

我已经用 rmagick 安装了 Carrierwave gem。

如果通过 WEBrick 加载,我可以让它正常工作,但在尝试使用 nginx 时会出现 500 内部服务器错误。

nginx error.log 说:

2011/08/14 10:06:40 [crit] 760#0: *4247 open() "/usr/local/Cellar/nginx/1.0.4/client_body_temp/0000000033" failed (13: Permission denied), client: 127.0.0.1, server: jewellery.dev, request: "POST /items/28?locale=en HTTP/1.1", host: "jewellery.dev:8080", referrer: "http://jewellery.dev:8080/items/28/edit?locale=en"

我还在初始化程序文件夹中创建了一个文件,其中包含:

CarrierWave.configure do |config|
  config.permissions = 0777
end

我错过了什么吗?


这与 CarrierWave 无关,Nginx 无法在该文件夹中写入/usr/local/Cellar/nginx/1.0.4/client_body_temp/与临时上传的文件一起,这意味着您的 Nginx 进程没有该文件的权限。确保运行 nginx 的用户可以读取/写入此特定路径下的文件,如果您没有更改配置,Nginx 通常会以用户身份启动它的工作人员nobody因此您可以授予他对此文件夹的读/写访问权限。

运行以下命令:

ps aux | grep "nginx: worker process"

并查看哪个用户正在运行 nginx。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 3 + Carrierwave + nginx = 权限被拒绝 的相关文章

随机推荐