Nginx 更改站点目录后变成找不到页面 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
jaleo
V2EX    Linux

Nginx 更改站点目录后变成找不到页面

  •  
  •   jaleo 2015-10-12 11:14:25 +08:00 7338 次点击
    这是一个创建于 3731 天前的主题,其中的信息可能已经有所发展或是发生改变。
    新手转了 Nginx 1.8 , centos 7.1 的系统。
    Nginx 的默认站点目录是 /usr/share/nginx/html ,我建了一个目录 /usr/share/nginx/html/mysite/,把默认的几个 html 文件移到了 mysite 下。
    配置 /etc/nginx/conf.d/mysite.conf ,打开站点页面,一切正常。

    现在我把站点目录换到 /home/jaleo/www/mysite ,修改 /etc/nginx/conf.d/mysite.conf ,再打开网站,显示 404 了。
    cat /var/log/nginx/error.log ,发现有权限 denied 的日志
    但我看了 /home/jaleo/www/mysite 目录的权限,是 775 。
    我又试了其他目录,发现只要站点目录指向 /home/jaleo 下,就打不开页面。
    不知道还有什么地方没有配置好,请指点。
    22 条回复    2015-10-13 19:39:45 +08:00
    CodingPuppy
        1
    CodingPuppy  
       2015-10-12 11:24:02 +08:00
    头像不错~
    nonozone
        2
    nonozone  
       2015-10-12 11:25:39 +08:00
    除了权限,你还要看看你的文件归属啊...
    venster
        3
    venster  
       2015-10-12 11:29:18 +08:00
    setenforce 0 试试看
    yexiaoxing
        4
    yexiaoxing  
       2015-10-12 12:04:49 +08:00 via iPad
    目录是 775 那文件呢
    just1
        5
    just1  
       2015-10-12 12:41:19 +08:00 via Android
    不是 nginx.conf
    xdz0611
        6
    xdz0611  
       2015-10-12 14:19:37 +08:00   1
    不要把 web 目录指向 /home 目录, home 目录都是有权限限制的,默认情况下只有 owner 自己能访问。但是你的 nginx 目测是以 nginx 用户启动的,所以肯定不能访问啦。

    建议的 web 目录一般放在 /data/www 或者 /var/www 下哦,这样默认也不会有权限问题。
    zjengjie
        7
    zjengjie  
       2015-10-12 14:34:51 +08:00
    同问,之前我也遇到过,改了 owner ( www-data )也不行,后来不想折腾了,就让他在默认文件夹呆着了。
    raysonx
        8
    raysonx  
       2015-10-12 14:41:55 +08:00 via Android   1
    不建议把 web 目录放在 home 下。
    如果真要放的话,从 web 目录向根目录一层一层地检查 nginx 用户是否具有 r 权限和 x 权限。我估计是中间的某一层目录没有 x 权限所致
    ryd994
        9
    ryd994  
       2015-10-12 14:46:21 +08:00   1
    你 service nginx reload 了么?
    另外, nginx 需要对所有上级目录有 rx ,检查中间的
    jaleo
        10
    jaleo  
    OP
       2015-10-12 16:32:45 +08:00
    多谢指点 我晚上去检查下权限
    上面的几位说的有道理 站点最好不要放在 home 下
    varnotfound
        11
    varnotfound  
       2015-10-12 16:32:54 +08:00
    得看下 nginx 当前运行使用的用户对目录的权限,每级目录都看下
    我遇到只有中间一个目录没有权限,其他目录都有权限,文件访问不了的
    orFish
        12
    orFish  
       2015-10-12 16:49:07 +08:00
    注意下用户组
    nginx 的 user group 配置是否和 www 目录所属用户组一样。
    xierch
        13
    xierch  
       2015-10-12 17:50:56 +08:00   1
    除了检查 /home/jaleo/www/mysite 的权限
    还要检查 /home/jaleo/www 、/home/jaleo 和 /home 哦
    strahe
        14
    strahe  
       2015-10-12 19:53:38 +08:00
    一层层检查权限,也不建议你放这么深,我习惯的路径:/data/{www, server, logs, ssl, backup}
    你可以参考一下
    randyzhao
        15
    randyzhao  
       2015-10-12 19:57:42 +08:00
    用户问题
    lxy42
        16
    lxy42  
       2015-10-12 20:10:38 +08:00
    我也遇到过类似问题, nginx uwsgi django 部署在 centos 上,静态文件放在 /home/www/static/下, nginx 是以 nginx 用户运行的, nginx 用户添加到 www 的用户组中, static 的目录权限是 750 ,可是 nginx 就是访问不到静态文件。后来干脆把运行用户设为 www 。
    lxy42
        17
    lxy42  
       2015-10-12 20:31:04 +08:00
    就刚刚我把 nginx 的运行用户重新设为 nginx ,重启 nginx 服务后发现能正常访问 static 目录了。前后的区别是原来的 nginx 用户是没有设置登录密码的,现在我设置密码了,不知道只是不是主要原因?
    jaleo
        18
    jaleo  
    OP
       2015-10-12 20:36:54 +08:00
    @xierch 原来是 /home/jaleo 这个目录权限不够
    raysonx
        19
    raysonx  
       2015-10-12 20:52:14 +08:00 via iPad   1
    @lxy42 和密码没有关系,因为这个用户不需要登录。另外,不要允许 nginx 用户登录(这是默认的),否则你就等着有人扫 ssh 密码爆菊吧。在 /etc/passwd 里面把该用户的 shell 设置为 /sbin/nologin 禁止登录
    xiaoz
        20
    xiaoz  
       2015-10-12 20:54:41 +08:00 via Android
    看看用户权限呢, chown www:www 网站目录
    lxy42
        21
    lxy42  
       2015-10-12 21:03:10 +08:00
    @raysonx 谢谢提醒
    rootit
        22
    rootit  
       2015-10-13 19:39:45 +08:00
    明显是你把你的东西放到别人家了,人家肯定不让你访问。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3008 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 13:27 PVG 21:27 LAX 05:27 JFK 08:27
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86