修改nginx默认web目录的求助 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
ivanlw
V2EX    Linux

修改nginx默认web目录的求助

  •  
  •   ivanlw
    tolinwei 2012-03-10 22:08:52 +08:00 33959 次点击
    这是一个创建于 4968 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在nginx.confg里面看到location那段有个root html,然后find下发现在/usr/local/html有index.html,于是想把这奇葩的目录改道Documents下面……

    把html换成/Users/我的用户名/Documents/www,然后nginx -s reload一下,发现原来可以看到的welcome to ngingx变成403了,应该怎么该呢?

    详细的如何配置要去哪里找手册?
    24 条回复    1970-01-01 08:00:00 +08:00
    freestyler
        1
    freestyler  
       2012-03-10 22:18:21 +08:00
    用root启动的? nginx worker默认是会用nobody用户, 无权限读你的目录。
    lerry
        2
    lerry  
       2012-03-10 22:19:22 +08:00
    nginx好像是www-dada运行的,看看是不是没有访问权限。
    ivanlw
        3
    ivanlw  
    OP
       2012-03-10 22:30:37 +08:00
    @freestyler 如果不用root运行不起来bin里面的nginx啊,默认的那个目录应该有权限限制吧?开发的时候修改文件不久很麻烦吗?
    ivanlw
        4
    ivanlw  
    OP
       2012-03-10 22:31:20 +08:00
    @lerry www-dada运行是什么意思呢?

    你的意思是我那样子写配置文件没有错?是访问不了的问题吗?
    freefcw
        5
    freefcw  
       2012-03-10 22:32:16 +08:00
    @ivanlw 应该是权限的问题,你看看/var/log/nginx/下面的日志试试
    feiandxs
        6
    feiandxs  
       2012-03-10 22:54:29 +08:00
    nginx.conf主配置文件里头部部分
    user www www;

    worker_processes *;
    如果是nobody或者被注释掉了,就手动修改下,指定用什么用户身份来运行。

    同时对应的目录和文件赋予对应的权限。文件里用www用户,就添加www用户,并赋予网站目录以www权限但其实不是必要的,真的。
    还是检查下默认的index 是不是都正确了吧。。。比如你是个php文件或者非默认index.html的索引页。。

    此外,运行nginx不用 bin里的nginxnginx编译下来的怎么会有bin这个目录呢,默认的话应该是sbin吧。
    以及它的运行并不需要root权限。
    ivanlw
        7
    ivanlw  
    OP
       2012-03-10 22:55:38 +08:00
    @freefcw /var/log里面木有nginx这个目录唉……
    lerry
        8
    lerry  
       2012-03-10 22:55:47 +08:00
    403,我遇到的都是文件夹权限问题
    Livid
        9
    Livid  
    MOD
    PRO
       2012-03-10 22:58:17 +08:00 via iPhone
    因为 Mac OS X 会保护用户的主文件夹。
    standme
        10
    standme  
       2012-03-10 23:06:37 +08:00 via iPhone   1
    无法列目录吧,把nginx.conf 里的 server 配置上 autoindex on;
    应该就可以了。
    freefcw
        11
    freefcw  
       2012-03-10 23:18:54 +08:00
    @ivanlw 这个。。。我还真不知道你的那个日志在哪里了,403的forbidden很显然是没有权限
    ivanlw
        12
    ivanlw  
    OP
       2012-03-11 15:36:02 +08:00
    @feiandxs 嗯,确实是sbin……我大意了;不过,您说的运行不用权限的问题,我试着不用sudo直接nginx,却出现了下面的提示:

    $ nginx
    nginx: [alert] could not open error log file: open() "/usr/local/logs/error.log" failed (13: Permission denied)
    2012/03/11 15:32:29 [emerg] 626#0: open() "/usr/local/logs/access.log" failed (13: Permission denied)

    虽然我英语不太好,但是应该是权限不够的问题吧?

    @freefcw 上面的那个/usr/local/logs/access.log 是不是就是您说的日志文件?
    ivanlw
        13
    ivanlw  
    OP
       2012-03-11 15:41:51 +08:00
    @feiandxs 尝试着按照你说的设置user,这个应该是我机器的登录名吧?但是关闭nginx的时候却出现如下提示,应该是这个用户名是错误的……

    nginx: [emerg] getgrnam("ivanlw-air") failed in /usr/local/conf/nginx.conf:3
    freefcw
        14
    freefcw  
       2012-03-11 15:43:51 +08:00
    @ivanlw 嗯,这个确实是日志文件
    不用sudo直接运行的话应该是没有权限打开日志文件的

    应该还有一个error.log日志,可以贴一下最近的访问信息
    Kvm
        15
    Kvm  
       2012-03-13 01:44:47 +08:00
    nginx没有权限验证
    ivanlw
        16
    ivanlw  
    OP
       2012-03-13 10:10:51 +08:00
    @Livid 怎么修改才能让nginx可以访问用户的主文件夹呢……我尝试着按照 @feiandxs 的方法,但是被提示说识别不出来我改的那个用户名(就是user后面那个)~
    ivanlw
        17
    ivanlw  
    OP
       2012-03-13 10:10:54 +08:00
    @Livid 怎么修改才能让nginx可以访问用户的主文件夹呢……我尝试着按照 @feiandxs 的方法,但是被提示说识别不出来我改的那个用户名(就是user后面那个)~
    ivanlw
        18
    ivanlw  
    OP
       2012-03-13 10:11:26 +08:00
    @Kvm 应该怎么修改配置文件才能让nginx可以访问用户主文件夹呢?
    freestyler
        19
    freestyler  
       2012-03-13 10:20:02 +08:00
    要用root跑的话,把目录owner改成 nobody把,
    你的用户的那个user是不在/etc/passwd的,
    所以你用 user指令指定你的用户是不行的
    ivanlw
        20
    ivanlw  
    OP
       2012-03-13 11:06:27 +08:00
    @freestyler 你说的owner是指user吗,我把配置里面user nobody的注释去掉了,这样子localhost访问的照样是403……按照楼上的说法还是没有访问权限……

    你们平时的www目录放哪里呢?如果不放自己的主文件夹,新建个文件都要权限很麻烦啊
    freestyler
        21
    freestyler  
       2012-03-13 11:08:00 +08:00
    @lvanlw 注释掉没用的,代码里面的默认就是nobody
    cana
        22
    cana  
       2012-03-13 12:28:42 +08:00
    nginx -t看一下配置错了没
    fangpeishi
        23
    fangpeishi  
       2012-12-12 22:06:03 +08:00
    /Users/我的用户名/Documents/www权限不对。刚刚遇到这个问题。修改权限解决了。
    v88ex
        24
    v88ex  
       2013-11-04 21:12:26 +08:00   1
    我遇到过类似的问题,不过把#user nobody 注释去掉改成user root 之后,搞定了。
    不过nginx跑在root用户下不知道是不是不安全。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     955 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 19:30 PVG 03:30 LAX 12:30 JFK 15:30
    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