【问题标题】:NGINX - Rename Permission Denied While Reading From UpstreamNGINX - 从上游读取时拒绝重命名权限
【发布时间】:2021-03-02 12:24:39
【问题描述】:

我最近从 Apache 切换到 Nginx。 PHP 语言底层并使用 fastcgi_pass 到 php7.4-fpm 来运行所有脚本文件。一切似乎都运行良好。页面正在运行,PHP 正在执行,所有资产加载正常等。但是我的 nginx 错误日志中充斥着这些错误:

2020/11/19 06:28:52 [关键] 3332114#3332114: *26646323 rename() “/tmp/0012831123”到“/opt/www/example/web/controller.php”失败(13: 权限被拒绝)同时读取上游,客户端:104.220.189.242, 服务器:www.example.com,请求:“GET /path1/path2/path3/HTTP/1.1”,上游:“fastcgi://unix:/run/php/php7.4-fpm.sock:”,主机: “www.example.com”,引用者:“https://www.example.com/”

我已经在谷歌上尝试了一周,但什么也没有。尝试查看 nginx 缓存文件等的权限,但没有。我真的被难住了。我不知道为什么某些 tmp 文件会尝试重命名为应该可执行的实际文件。这看起来很糟糕,而且有点吓人。

我们将不胜感激任何关于在哪里寻找的帮助或建议。

干杯!

【问题讨论】:

    标签: php nginx rename permission-denied upstream


    【解决方案1】:

    [TLDR] 为了避免其他人像我一样在这方面花费大量时间。有一个配置设置'fastcgi_store',需要设置为'off'。

    基本上有一个“fastcgi_store”设置允许将文件或动态生成的文件复制到磁盘。不确定这是用于什么用例,但在我的“..../sn-ps/fastcgi-php.conf”文件中启用了它。考虑到我对 NGINX 还很陌生,我可能从某个地方复制了这个,但并没有真正了解它的用途或它的影响。

    我认为主要问题是某处权限不正确,无法写入文件。这可能是件好事,因为这些文件会很快填满我的网络服务器磁盘空间。由于我不需要这些文件,我只是禁用了它,并没有进一步研究权限问题。

    这里是 nginx 文档的链接: http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_store

    更改配置文件: fastcgi_store 关闭;

    【讨论】:

      猜你喜欢
      • 2015-03-14
      • 2018-09-13
      • 2014-07-19
      • 2022-01-03
      • 1970-01-01
      • 2015-07-04
      • 2012-11-15
      • 2016-05-12
      • 2014-03-16
      相关资源
      最近更新 更多