NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
spencerqiu
V2EX  ›  NGINX

配置 Hexo 之后, Nginx 报 403

  •  
  •   spencerqiu · Feb 5, 2015 · 7584 views
    This topic created in 4144 days ago, the information mentioned may be changed or developed.
    自行 google 了一下,看到是这样说的

    引起nginx 403 forbidden有二种原因,一是缺少索引文件,二权限问题。

    权限问题不清楚...索引也没办法啊,似乎 Hexo 的文件夹里本来就没有 index.html 这样的东西....
    12 replies    2017-05-23 16:32:41 +08:00
    marshal
        1
    marshal  
       Feb 5, 2015
    hexo是静态博客系统,也就是通过hexo generate然后deploy成静态网页,再通过nginx让外面访问。
    如果是这样,我估计是目录权限问题吧。可以chmod 777测试一下。
    qq446015875
        2
    qq446015875  
       Feb 5, 2015 via Android
    亲,hexo不是这么玩的……是本地生成静态页面然后传到服务器上,那个public里才是要上传的,建议仔细看hexo.io的文档,或者去网上查查
    66beta
        3
    66beta  
       Feb 5, 2015
    楼主看下hexo文档吧,静态文件不用配置nginx了吧,默认都行
    Twinkle
        4
    Twinkle  
       Feb 5, 2015
    spencerqiu
        5
    spencerqiu  
    OP
       Feb 5, 2015
    @Twinkle
    = =就是跟着这篇玩的...结果玩脱了...
    spencerqiu
        6
    spencerqiu  
    OP
       Feb 5, 2015
    777 了还是不行...
    icylogic
        7
    icylogic  
       Feb 5, 2015 via Android   ❤️ 1
    nginx 中 server 或者 location 的 root 要定到 hexo 的 public ,这步如果没有问题, public 文件夹中也已经生成好静态文件 (应该是有 index),那么应该是权限问题。

    然后权限问题绝壁不要听那些告你777的,文件权限管理是用 linux 必须学会的东西,必须像 Windows 开关机一样熟练掌握,找篇靠谱的文章看一下。如果你直接 Google nginx 为什么403,绝壁一堆 csdn 之类的文章告你 777,这就相当于你问为什么关机的时候 Windows 提示说有未保存的文档然后关不了机,别人告你长按电源5秒一样,你感受一下。

    你这里可能是没有递归授权,ls -l 看一下,对照一下 nginx.conf 的 user 字段应该就知道了,但是具体还是你看了以后自己判断。
    Twinkle
        8
    Twinkle  
       Feb 5, 2015
    @spencerqiu
    最终的 /var/www/blog 目录下有 index.html 么?
    有的话试试把 /etc/nginx/nginx.conf 里面的 user nginx 改为 user root。我 CentOS 下出过这个问题。
    ryd994
        9
    ryd994  
       Feb 5, 2015 via Android
    先看看errorlog

    @Twinkle 用root跑服务这是作大死,还不如楼上说777的呢

    权限好办 chmod 和chown 用--reference 复制Nginx的demo的权限即可
    qq446015875
        10
    qq446015875  
       Feb 5, 2015
    cdy
        11
    cdy  
       Jul 22, 2015
    1, 执行 hexo g,会出现静态文件(public文件夹)
    2, 设置nginx用户组为root (而不是www-data或者其他)
    zhaoshijun
        12
    zhaoshijun  
       May 23, 2017   ❤️ 1
    检查博客文件存放目录,索引文件并没有缺少。域名目录下 public_html 文件夹权限用户与组为 leyar。

    检查配置文件 /etc/nginx/nginx.conf, 发现第一行 user 为 nginx,尝试将其改为 leyar, 重启 nginx sudo systemctl restart nginx,依然 403。

    尝试改为 root 并重启 nginx, 再次刷新网页,问题解决。
    猜想原因应该是使用 sudo 安装的 nginx,故 user 为 root.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3325 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 728ms · UTC 12:01 · PVG 20:01 · LAX 05:01 · JFK 08:01
    ♥ Do have faith in what you're doing.