1
marshal 2015-02-05 09:45:36 +08:00
hexo是静态博客系统,也就是通过hexo generate然后deploy成静态网页,再通过nginx让外面访问。
如果是这样,我估计是目录权限问题吧。可以chmod 777测试一下。 |
2
qq446015875 2015-02-05 11:14:20 +08:00 via Android
亲,hexo不是这么玩的……是本地生成静态页面然后传到服务器上,那个public里才是要上传的,建议仔细看hexo.io的文档,或者去网上查查
|
3
66beta 2015-02-05 11:17:35 +08:00
楼主看下hexo文档吧,静态文件不用配置nginx了吧,默认都行
|
4
Twinkle 2015-02-05 11:27:41 +08:00
|
5
spencerqiu OP @Twinkle
= =就是跟着这篇玩的...结果玩脱了... |
6
spencerqiu OP 777 了还是不行...
|
7
icylogic 2015-02-05 12:12:37 +08:00 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 字段应该就知道了,但是具体还是你看了以后自己判断。 |
8
Twinkle 2015-02-05 12:14:32 +08:00
@spencerqiu
最终的 /var/www/blog 目录下有 index.html 么? 有的话试试把 /etc/nginx/nginx.conf 里面的 user nginx 改为 user root。我 CentOS 下出过这个问题。 |
9
ryd994 2015-02-05 15:54:53 +08:00 via Android
|
10
qq446015875 2015-02-05 22:46:41 +08:00
|
11
cdy 2015-07-22 12:27:32 +08:00
1, 执行 hexo g,会出现静态文件(public文件夹)
2, 设置nginx用户组为root (而不是www-data或者其他) |
12
zhaoshijun 2017-05-23 16:32:41 +08:00 1
检查博客文件存放目录,索引文件并没有缺少。域名目录下 public_html 文件夹权限用户与组为 leyar。
检查配置文件 /etc/nginx/nginx.conf, 发现第一行 user 为 nginx,尝试将其改为 leyar, 重启 nginx sudo systemctl restart nginx,依然 403。 尝试改为 root 并重启 nginx, 再次刷新网页,问题解决。 猜想原因应该是使用 sudo 安装的 nginx,故 user 为 root. |