nginx的错误日志很大,所以我删除并创build了一个新的,现在nginx不会启动

我删除了/var/log/nginx/error.log文件,然后创build一个新的使用:

sudo nano error.log 

Doinga ls -la显示error.log和access.log具有相同的权限。

当我尝试启动nginx时,出现错误:

警报:无法打开错误日志文件:打开()“/var/log/nginx/error.log”失败的权限被删除。

更新当试图启动nginx时,我也看到:

emerg:/var/run/nginx.pid失败13:权限被拒绝。

这不能解决你的问题,但是在将来,如果你这样做

cat / dev / null> / file /你/想要/到/擦除

你将不需要任何东西来复制文件的内容,并保持所有的权限。

不是nginx-speicific,但是另外,确保你正在运行应用程序,就像它应该运行的用户一样。 如果你以root的身份运行它,所有的权限将被root所有,所以其他用户将无法运行它。

看看nginx的configuration,检查服务器运行的是谁 – 猜测用户将是nginx

所以:

chown nginx: /var/run/nginx.pid chown -R nginx: /var/log/nginx

应该做的伎俩。

删除error.log文件,nginx将自己创build它。

用NginX轮换日志的常用方法是重命名文件,然后/etc/init.d/nginx reload 。 服务器启动一个新的文件,你可以做你想要的与旧的。

您也可能发现编辑configuration不会logging太多有用。

首先尝试删除文件,如果不起作用,请检查nobody用户是否拥有正确的权限:
http://derekneely.com/2009/06/nginx-failed-13-permission-denied-while-reading-upstream/