Solo  当前访客:15 登录 注册

Nginx启动报错:nginx: [alert] could not open error log file:...

本文由黑壳网发布
本文来源Nginx启动报错:nginx: [alert] could not open error log file:… - 黑壳网

壳叔搞笑一刻

小时候听到有一个小伙伴喊我妈姑姑,于是我回家也喊我妈姑姑,我妈不让我喊,我特委屈,我一个劲喊,我妈就把我揍了。
我边哭边嚎“为什么黄毛哥能喊你姑,我不能喊,我是不是你亲生的?
”……我妈估计当时心里很崩溃,怀疑自己生了个什么玩意

Nginx启动报错:nginx: [alert] could not open error log file:...

/opt/nginx/nginx-1.2.8/sbin$ /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (13: Permission denied)
2017/07/07 23:41:06 [warn] 18813#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /usr/local/nginx/conf/nginx.conf:1
2017/07/07 23:41:06 [emerg] 18813#0: open() "/usr/local/nginx/logs/access.log" failed (13: Permission denied)

原因:当前用户对该位置没有写入权限

解决办法:

1.使用命令以root权限启动

sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 

2.使用命令:给所有用户赋权限

sudo chmod -R a+rw /usr/local/nginx 
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  启动Nginx

注:以非root权限启动时,会出现 nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied) 错误

原因:Linux只有root用户可以使用1024一下的端口

解决办法:1.已root权限启动

2.将 /usr/local/nginx/conf/nginx.conf 文件中的80端口改为1024以上

server {

listen 80

listen 8080

……

}

小胡同学
小胡同学 @ 黑心的壳叔 • 17-07-24 22:54 • Reply

对,就是这样!需要实践积累!

黑心的壳叔
黑心的壳叔 @ 小胡同学 • 17-07-24 22:42 • Reply

一部分经验,是需要实践的积累。
就像认路一样,自己走过一次才知道。

小胡同学
小胡同学 @ 黑心的壳叔 • 17-07-24 22:21 • Reply

嗯!这个错误有时候是不注意的!所以来说,还得是看经验!只有遇到了才知道这个错误的情况

黑心的壳叔
黑心的壳叔 @ 小胡同学 • 17-07-24 22:19 • Reply

:微笑:一般有问题就找输出日志看一下,5分钟不算长。

小胡同学
小胡同学 • 17-07-24 18:09 • Reply

这个情况今天遇见了,不过这个也是分情况的,有的是error.log文件在nginx.conf中的配置问题,被坑了5分钟:joy:

 
 
 
validate