26054 open /var/lib/nginx/tmp/client_body/0000000005 failed (13 Permission denied) @ 胡巴 | 星期二,十一月 7 日,2017 年 | 2 分钟阅读 | 更新于 星期二,九月 28 日,2021 年

ajax 异步提交数据服务器返回500,但程序日志中未发现错误,后来在Nginx错误日志中发现了错误信息:*26054 open() “/var/lib/nginx/tmp/client_body/0000000005” failed (13: Permission denied)

问题出现场景

前几天做自己的博客的时候,我在管理后台写好文章,使用ajax post 异步提交文章内容到后台,但是服务器返回总是500。

问题排查

首先我想到的是看自己的程序错误日志,但是发现程序错误日志中没有任何输出。

然后我就查看Nginx的错误日志,果然在错误日志中发现,近几次的反复提交都会出现错误

*26054 open() "/var/lib/nginx/tmp/client_body/0000000005" failed (13: Permission denied)

错误分析

错误内容如下

open() "/var/lib/nginx/tmp/client_body/0000000005" failed

open文件失败原因:

 (13: Permission denied)

可以看到,提示没有权限,那为什么没权限呢?

这里可以确定的是执行Nginx 的这个用户没有权限写 /var/lib/nginx/tmp/client_body/0000000005 这个文件。那我们先来看下Nginx 所属用户和用户组。

执行命令:

ps aux | grep "nginx: worker process" | awk '{print $1}'

执行结果:

qinjian+
nobody
nobody
nobody

然后我们在看一下/var/lib/nginx/ 这个文件目录所属的用户和用户组

执行命令:

sudo ls -al /var/lib/nginx/

执行结果:

total 12
drwx------   3 nginx nginx 4096 Jun 13 12:54 .
drwxr-xr-x. 41 root  root  4096 Sep 15 09:59 ..
drwx------   7 nginx nginx 4096 Jun 13 12:55 tmp

这里我们就可以看到Nginx 进程和/var/lib/nginx/tmp 这个文件夹所属用户和用户组都不同,且tmp文件夹的权限标识为drwx------,以至于Nginx 无法对这个文件夹进行写操作。

问题解决

问题解决起来就相对简单了,我们只需要让两者的所属用户和用户组相同就可以了! 这里我让 /var/lib/nginx/ 这个目录的所属用户和用户组变成和Nginx 子进程一样。

执行命令:

sudo chown -R nobody:nobody /var/lib/nginx/

再执行命令(进行校验):

sudo ls -al /var/lib/nginx/

执行结果:

total 12
drwx------   3 nobody nobody 4096 Jun 13 12:54 .
drwxr-xr-x. 41 root  root  4096 Sep 15 09:59 ..
drwx------   7 nobody nobody 4096 Jun 13 12:55 tmp

这回所属用户和用户组都一样了,我再提交一次试试吧!~~ O(∩_∩)O,问题解决了!

疑惑点

Nginx 为什么要往文件中写数据呢?

这个问在网上找了很久,也还是不太明白,我本人的Nginx 中配置的client_max_body_size 100m; ,按理说一篇文章内容应该不会超过100m,还有可能就是我本身服务器的内存太小了,可能那时被占用的过多不够用了。具体原因还是不明白,如果有知道原因的小伙伴,希望可以联系我告知我一下,我本人也会再进行网络搜寻,如果找到答案,会再这里说明~

Copyright © 2017 - 2025 boboidea.com All Rights Reserved 波波创意软件工作室 版权所有 【转载请注明出处】

avatar

BoBo`s Blog每天进步一点点,能多一点是一点

appdata apt-get bloomfilter channel Chatbot ChatGPT chsh ClickHouse Context css csv CUDA Cursor DaDa英语 Deepseek defer df docker elasticsearch error ffmpeg fix-missing form gif git GitLab globalproject golang HTTP HTTPS iconv IDE Interface iota Kafka LangChain libssl LLM ln mac mac系统更新 Map MCP MetaMCP mkdir MSYS2 mysql n8n nginx oh-my-zsh Ollama openconnect openssl PAM permission php pip PowerShell python rabbitmq redis reflect rsync SD sed shell Slice snowflake space SQL SSH struct syntax_err tensorflow ubuntu ue4 unauthorized unreal4 UV vim virtualbox vpn VSCode Windows x86_64 xcode-select YCM zookeeper zsh 上海积分 主从复制 事务 二进制安全 交叉熵 人力资源 代码工具 代码编辑助手 代码评审 以太坊 信息论 全民哀悼 内存管理 内容创作 分屏 分支删除 区块链 匿名函数 协作系统 协议设计 启动盘 品种 图片转视频 均线 夏天 夏季 实用技巧 密码修改 工作流 工作流触发 工具 工具管理 开发工具 开发环境 循环 微信公众号 批处理 批量处理 批量替换 批量重命名 接收器 效率工具 教程 数据分析 数据合并 数据处理 数据查询 数据类型 数据结构 数据聚合 数据转换 文件同步 文件管理 日志切分 智能体 智能合约 替代方案 本地部署 概率论 比特币 水果 治疗 流量分析 消息队列 版本控制 狗狗币 生活 用户行为 电视 症状 磁盘清理 笔记本技巧 编程语言 编译PHP 编辑器 网站统计 自动化 自动化工作流 自动提交 节点 获取方式 虚拟机 西瓜 记忆 购买指南 软连接 运维技巧 闭包 集成 雪花算法 面瘫 鞋子 项目无法编译
基本信息
  • 姓名:bobo
  • 花名:胡巴
  • 性别:男
  • 血型:O型
  • 星座:白羊座

联系方式

  • 所在地:上海
  • QQ:279250819
  • 微信号:wanghuiwoshinideyou
  • 电子邮件:279250819@qq.com

博客地址

公众号

alt 无限递归

工作经历
  • 2022.5 - 至今

    • 公司:乐府互娱
    • 职位:高级SDK工程师
  • 2019.6 - 2022.4

    • 公司:萌推(上海突进网络科技有限公司)
    • 职位:中级PHP工程师 & 初级golang工程师
    • 荣誉:
      • 绩效A连续得主
      • 月度之星
      • 优秀个人奖
    • 所作所为:
      • 利用ES优化OMS、MMS管理系统商品列表查询
      • 利用消息队列、Redis、乐观锁优化商品审核流程
      • 利用Redis对商家端接口进行有效限流
      • 优化商品相关表索引,提升SQL查询速度
      • 商品中台构建,统一商品相关操作
      • 大表优化(数据分离、分表、大字段拆分)
      • 掌握所有商品核心流程
  • 2018.5 - 2019.5

    • 公司:DaDa英语(上海卓赞教育信息科技有限公司)
    • 职位:中级PHP开发工程师
    • 荣誉:无
    • 所作所为:
      • 利用ES优化教师CMS系统统计数据接口至500ms内
      • 工单系统开发及持续优化
      • 教师CMS系统的功能开发及持续优化
  • 2018.3 - 2018.5

    • 公司:波奇(上海)信息科技有限公司
    • 职位:初级PHP开发工程师
    • 荣誉:同下
    • 所做作为:如下
  • 2016.7 - 2018.3

    • 公司:光橙(上海)信息科技有限公司
    • 职位:初级PHP开发工程师
    • 荣誉:
      • 年度最佳进步奖
    • 所作所为:
      • 利用Redis提升商详接口最佳响应速度至50ms内
      • 利用Redis提升双11活动页可承受QPS至500以上
      • 利用Redis对接口进行简单限流
      • 与小伙伴合作提升搜索质量(ES初识)
      • 其他C端接口的开发及优化
      • B端商城老页面的维护及优化
SKILLS

编程语言

  • PHP
  • Golang
  • Shell
  • JAVA
  • JS
  • HTML\CSS

数据库

  • MySQL
  • Redis
  • Clickhouse

消息中间件

  • RabbitMq
  • Kafka

文档撰写

  • Swagger
  • Markdown

技术框架

  • Laravel
  • gin

搜索引擎

  • ElasticSearch

抓包工具

  • Charles