nginx 403 Forbidden 排错记录

记录一次nginx 403错误的处理情况 ,当然nginx 403错误引起的原因有很多,这里记录的只是其中一种 (权限引发的问题)


场景:

我把个人简历放在github上,但是访问很慢,就把这个静态简历迁移到我的VPS服务器上,使用nginx做web服务,访问时出现403错误

nginx配置(只展示重要部分):
server {
        listen  10000 ;
    server_name xxxx.xxxx.com ;
        access_log /home/resume/log/access.log main ;
        error_log /home/resume/log/error.log ;
    location / {
          root /home/resume/www ;
          index index.html ;
    }
}
访问结果:
nginx 403 Forbidden 排错记录_第1张图片
Paste_Image.png
查看nginx错误日志:

出现了关键字“Permission denied”

2016/12/23 14:02:26 [error] 5887#5887: *573 open() "/home/resume/www/index.html" failed (13: Permission denied), client: 192.168.15.2, server: xxxx.xxxx.com, request: "GET /index.html HTTP/1.0", host: "xxxx.xxxx.com"
排错记录:

一看是权限问题,马上把** /home/resume/www**目录下的所有文件权限改为777 ,重新访问还是 403 ,反反复复折腾了很久,无解....
第二天晚上继续,怀疑是nginx配置错误,搜索 nginx html时找到这个文章nginx 代理本地的html
原来是nginx配置中的用户权限问题

  1. 查看nginx worker 用户,www-data 是nginx默认配置的


    Paste_Image.png
  2. 静态文件存放的文件夹用户是scott,组为executor ,所nginx用户为www-data导致权限问题(如果nginx配置的用户和静态文件的用户不匹配,那怕权限是777也会出现权限问题,具体看 nginx用户权限)
    nginx 403 Forbidden 排错记录_第2张图片
    用户
  3. 配置nginx权限和静态文件统一
  • 编辑nginx配置文件
vim /etc/nginx/nginx.conf
  • 修改文件第一行的为静态文件的用户和组
# user 用户名 用户组  ; 这里的用户名和组就是静态文件的
user scott executor ;
nginx 403 Forbidden 排错记录_第3张图片
Paste_Image.png
  1. 检查配置正确性
nginx -t

上面的命令执行后返回以下内容则成功

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
  1. 重启nginx
nginx -s stop
nginx -c /etc/nginx/nginx.conf
参考:
  • nginx 代理本地的html
  • nginx用户权限
  • How do I change the NGINX user?
  • nginx 服务器重启命令,关闭

你可能感兴趣的:(nginx 403 Forbidden 排错记录)