最近鼓捣博客服务器,不经意间误操作改了一些目录的用户组及权限,导致博客文件上传功能失败,周末检查了一天依然没有解决问题,在不经意间意识到了问题所在,其实有时候一些小问题会花费一大波时间去解决,于是博主记录本篇,总结一下发现问题,调试,解决问题的过程,希望以后解决问题能直指根本。
发现问题
首先是在12月9号发行博客文件上传功能失败,查看前端请求,发现是服务端返回500状态码,表明发生服务端内部异常:
如上图接口返回详情所示,nginx服务异常,服务暂时转移了,当前不可访问。
分析并解决问题
其实问题比较简单,但是奈何博主当时短路了,因为博主在浏览器直接访问该异常接口时,出现如下提示:
于是搜索了关于wordpress关于Are you sure相关问题,结果跑偏了,跑去分析wordpress源码,分析上传文件php代码,分析php内存使用是否达到上限,结果分析完一下午过去了,发现其实nginx没有转发该上传请求至php-fpm服务,我应该首先去看nginx输出日志。
于是跑去查看nginx日志:
- vi /var/log/nginx/error.log
哎,发现是空的,并没有异常日志,怎么回事?确认日志路径无误后就可以考虑是因为文件权限的原因了,执行ll或ls -al指令:
哎,果然,nginx文件目录所属用户是root,而nginx执行用户配置了nginx,于是将其修改成nginx服务配置文件内配置的用户:
- chown -R nginx /var/log/nginx
另外设置nginx用户对于/var/log/nginx目录的权限等级:
- chmod -R 755 /var/log/nginx
再次执行ll查看目录信息:
nginx输出日志文件权限没问题了,再次上传文件,发现依然返回500状态码,这时查看nginx异常日志文件:
- vi /var/log/nginx/error.log
发现终于有日志了:
看到是权限问题Permission Denied,打开/var/lib/nginx/tmp/client_body/0000001失败,说明启动转接服务失败,那就需要修改/var/lib/nginx目录的权限,使用ll查看该目录信息,发现,果然所属用户被改为root了,于是再次设置:
- chown -R nginx /var/lib/nginx
然后重启nginx服务:
- systemctl restart nginx
再次上传文件,上传成功,问题得到圆满解决。
在比较服务器托管和云服务之前,有必要先了解下云服务的概念。云服务是现在流行...
专注于文本文档的组织在简化业务流程方面有了一个新的盟友。自然语言处理(Natura...
无服务器架构(Faas/Serverless),是软件架构领域的热门话题。 AWS,Google Cloud...
前言 Tomcat隶属于Apache基金会,是开源的轻量级Web应用服务器,使用非常广泛。s...
什么样的人才会迟到?一种是智商余额不足的,另一种是有底气的人。超融合发展到...
很多站长选择业务搭载平台时,会更多地考虑网站服务器租用价格。而趋于平价化的...
Google 为了应对快速增长的数据处理,开发了一套算法。后来有人根据算法的思想,...
北京忆恒创源科技有限公司(Memblaze)今天宣布推出PBlaze5 920系列企业级NVMeSSD...
前言 Http 缓存机制作为 web 性能优化的重要手段,对于从事 Web 开发的同学们来...
在经历空前的一年后,医疗保健行业CIO们表示,他们将加倍努力为患者和医疗服务提...