› 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 · 7840 views
    This topic created in 4263 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   ·   Privacy   ·   Solana   ·   1454 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 16:40 · PVG 00:40 · LAX 09:40 · JFK 12:40
    ♥ Do have faith in what you're doing.