服务器非代码错误的500

今天是6月1号,新的一个月份开始了。

一上班,就有同事给我发一个消息,说服务器出现500。一般情况下,我们都会很直观的去筛查代码。

但是这次不一样了,服务端报500的同时,代码还会正常运行输出。

后来再仔细一想,500是服务端错误,那么它的范围不止于代码,还可能是其它的地方,比如:用户权限等问题。

后来把nginx日志打开,发现是用户权限的问题。

因为今天是6月的第一天,在上个月的时候,在服务器上加了个计划任务,直接用root执行的。

然后生成新的日志目录属主就是root。 

这个时候如果项目的日志目录和计划任务是同一个目录,那就写不进去了。

因为执行项目程序的是www用户,而通过计划任务生成的目录属主是root, 权限不足。

解决这个问题,先把这个日志目录修改属主和属组。然后把那条计划任务的用户修改为www。

# crontab 有一个选项  u 是用来指定执行该计划任务的用户属主
crontab -u www -e # 编辑以 www 用户来执行的计划任务

# 如果 crontab 命令不加 选项 u ,那么默认是以当前用户来执行。
# 假如你当前登录的用户是 root ,那么通过  crontab -e 编辑计划任务的执行用户就是 root
# 关于更多crontab 使用方法,请自行查阅
Talk is cheap, show me the code.
原文地址:https://www.cnblogs.com/cidgur/p/9120527.html