最近在鼓捣博客服务器,无意中误改了部分目录的用户组和权限,导致博客文件上传功能失效。周末查了一天,问题依旧没有解决。说到问题,其实有时候一些小问题会花很多时间去解决,所以博主记录这篇文章,总结一下发现问题、调试、解决问题的过程,希望能够解决问题将来。问题最早发现是12月9日博客文件上传功能失效。查看前端请求,发现服务端返回了500状态码,说明服务端出现内部异常:如上接口返回详情所示,nginx服务异常,服务暂时中转,当前无法访问。分析解决问题其实还是比较简单的,但是博主当时就短路了,因为博主在浏览器直接访问异常界面的时候出现了如下提示:所以我搜索了关于Areyousureaboutwordpress的问题,结果跑偏了,跑去分析wordpress源码,分析上传文件的php代码,分析php的内存占用是否已经达到上限。经过分析,一个下午过去了,发现nginx并没有把上传请求转发给php-fpm服务。我应该先看看nginx输出日志。于是跑去查看nginx的日志:vi/var/log/nginx/error.log咦,发现是空的,而且也没有异常日志,这是怎么回事?确认日志路径无误后,可以认为是文件权限问题。执行ll或ls-al命令:嘿嘿,果然nginx文件目录的拥有用户是root,nginx执行用户配置了nginx,所以改为nginx服务配置文件中配置的用户:chown-rnginx/var/log/nginx-R代表迭代设置目录及其子目录;第二个参数是为目录指定的用户名;另外设置nginx用户为/var/log/nginx目录的权限级别:chmod-R755/var/log/nginx再次执行ll查看目录信息:nginx输出日志文件权限没有问题,重新上传文件,发现还是返回500状态码,于是查看nginx异常日志文件:vi/var/log/nginx/error.log发现终于有日志了:SeeingthatitisapermissionproblemPermissionDenied,opening/var/lib/nginx/tmp/client_body/0000001failed,说明传输服务启动失败,然后需要修改/var/lib/nginx目录的权限,使用ll查看目录信息,发现发现用户已经改为root,所以重新设置:chown-Rnginx/var/lib/nginx并重启nginx服务:systemctlrestartnginx再次上传文件,上传成功,问题圆满解决。
