Nginx 错误 failed (13: Permission denied)

本文将介绍怎样去解决nginx访问资源时“16274#0: *1 open() "/root/nginx/html/favicon.ico" failed (13: Permission denied)”错误

今天在学习 ngin防盗链 时,在另一台服务器上部署了一个 html 文件,然后访问出现了 403 错误。去打开 nginx 错误日志,查看有如下错误信息:

Nginx 错误 failed (13: Permission denied)

详细错误如下:

2018/07/03 02:23:55 [error] 16274#0: *1 open() "/root/nginx/html/daolian/favicon.ico" failed (13: Permission denied), client: 192.168.238.1, server: s1.example.com, request: "GET /favicon.ico HTTP/1.1", host: "s1.example.com", referrer: "https://s1.example.com/"

上面讲我们使用 HTTP 协议访问 GET /favicon.ico HTTP/1.1 资源时,open() "/root/nginx/html/daolian/favicon.ico" failed 打开文件失败,原因为 Permission denied (没有权限)。

解决方法

上面的日志中“Permission denied”,一看就知道是权限出了问题,通过 ps -ef | grep nginx,查看 nginx 的进程信息:

root     15889     1  0 00:01 ?        00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
nginx   15890 15889  0 00:01 ?        00:00:00 nginx: worker process
root     16795 15654  0 00:48 pts/3    00:00:00 grep --color=auto nginx

发现 nginx 进程的用户是 nginx,而我们创建 /root/nginx/html/daolian/favicon.ico 文件的用户是root;因此,只要把 nginx 的进程 user 改为 root 即可,vim /etc/nginx/nginx.conf:

user root;

之后,/etc/init.d/nginx restart 重启 nginx,就可以正常访问网站了。

一知半解的人,多不谦虚;见多识广有本领的人,一定谦虚。——谢觉哉
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号