社区编辑申请
注册/登录
解决Nginx服务返回500状态码问题
服务器
最近鼓捣博客服务器,不经意间误操作改了一些目录的用户组及权限,导致博客文件上传功能失败,周末检查了一天依然没有解决问题,在不经意间意识到了问题所在,其实有时候一些小问题会花费一大波时间去解决,于是博主记录本篇,总结一下发现问题,调试,解决问题的过程,希望以后解决问题能直指根本。

最近鼓捣博客服务器,不经意间误操作改了一些目录的用户组及权限,导致博客文件上传功能失败,周末检查了一天依然没有解决问题,在不经意间意识到了问题所在,其实有时候一些小问题会花费一大波时间去解决,于是博主记录本篇,总结一下发现问题,调试,解决问题的过程,希望以后解决问题能直指根本。

发现问题

首先是在12月9号发行博客文件上传功能失败,查看前端请求,发现是服务端返回500状态码,表明发生服务端内部异常:

如上图接口返回详情所示,nginx服务异常,服务暂时转移了,当前不可访问。

分析并解决问题

其实问题比较简单,但是奈何博主当时短路了,因为博主在浏览器直接访问该异常接口时,出现如下提示:

于是搜索了关于wordpress关于Are you sure相关问题,结果跑偏了,跑去分析wordpress源码,分析上传文件php代码,分析php内存使用是否达到上限,结果分析完一下午过去了,发现其实nginx没有转发该上传请求至php-fpm服务,我应该首先去看nginx输出日志。

于是跑去查看nginx日志:

  1. vi /var/log/nginx/error.log 

哎,发现是空的,并没有异常日志,怎么回事?确认日志路径无误后就可以考虑是因为文件权限的原因了,执行ll或ls -al指令:

哎,果然,nginx文件目录所属用户是root,而nginx执行用户配置了nginx,于是将其修改成nginx服务配置文件内配置的用户:

  1. chown -R nginx /var/log/nginx 
  1. -R代表迭代设置目录及其子目录;
  2. 第二个参数为为目录指定的所属用户名;

另外设置nginx用户对于/var/log/nginx目录的权限等级:

  1. chmod -R 755 /var/log/nginx 

再次执行ll查看目录信息:

nginx输出日志文件权限没问题了,再次上传文件,发现依然返回500状态码,这时查看nginx异常日志文件:

  1. vi /var/log/nginx/error.log 

发现终于有日志了:

看到是权限问题Permission Denied,打开/var/lib/nginx/tmp/client_body/0000001失败,说明启动转接服务失败,那就需要修改/var/lib/nginx目录的权限,使用ll查看该目录信息,发现,果然所属用户被改为root了,于是再次设置:

  1. chown -R nginx /var/lib/nginx 

然后重启nginx服务:

  1. systemctl restart nginx 

再次上传文件,上传成功,问题得到圆满解决。

责任编辑:武晓燕 来源: 熊建刚的博客
相关推荐

2022-04-14 10:10:59

Nginx开源Linux

2022-04-28 09:46:20

Nginx文件Linux

2022-04-08 08:40:36

Nginx日志服务器

2022-04-14 10:22:30

NginxLinux

2022-04-07 15:28:16

HarmonyOS鸿蒙操作系统

2022-05-07 10:09:01

开发Java日志

2022-04-06 13:55:22

DockerLinux

2022-04-15 11:47:47

LVSNginx负载均衡

2022-05-02 08:30:46

网络Wi-Fi

2022-04-23 16:58:24

微服务微服务架构

2022-05-15 22:21:33

WiFi热点无效WiFiWindows 11

2022-03-30 13:56:05

前端监控搭建

2022-05-14 16:08:25

边缘计算AI人工智能

2022-05-12 08:22:54

内核oopsPC

2022-05-07 13:51:24

云计算公有云数据

2022-04-09 11:53:52

供应链攻击

2022-05-13 11:02:45

数据中心配电设计

2022-05-13 09:34:00

Slik-wrang机器学习人工智能

2022-04-26 07:49:23

Nagios开源监控

2022-04-15 10:11:03

机器学习scikit-lea

同话题下的热门内容

浅谈微服务的发展以及可观测性新型数据中心的建设及发展启示无服务器计算或已成为云原生的下一个演进保护微服务架构安全的三个优秀实践字节跳动自研高性能微服务框架 Kitex 的演进之旅携程 SOA 的 Service Mesh 架构落地数据中心如何进行定制化配电设计?安谋科技结束纷争,看新管理团队如何开启新阶段?

编辑推荐

什么是中间件,常见中间件服务器有哪些?如何快速搭建一个阿里云服务器Windows和Ubuntu系统如何远程连接Linux服务器Python与PHP、Java等4大流行语言过招,谁更胜一筹?解决Nginx服务返回500状态码问题
我收藏的内容
点赞
收藏

51CTO技术栈公众号