nginx如何找到默认根目录(root html)

nginx在配置中使用`roothtml`定义默认根目录,实际路径由`--prefix`命令行参数决定,例如`/var/lib/nginx`。结合配置中的`root`指令,完整路径为`/var/lib/nginx/html`。可以通过`nginx-V`查看`--prefix`的具体值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

nginx如何找到默认根目录(root html)

nginx的出场配置
server {
        listen       80;
        server_name  127.0.0.1;

        location / {    
            root   html;    # 这是一个相对路径
        }

        error_page  404              /404.html;     #当状态码为400则转到/404.html
        error_page   500 502 503 504  /50x.html;    #当状态码为50x.. 则转到/50x.html
        location = /50x.html {
            root   html;
        }
}

系统上nginx配置文件在/etc/nginx/nginx.conf,服务index.html的位置是/var/lib/nginx/html/index.html。现在,看看上面的配置,nginx是如何根据配置找到/var/lib/nginx/html/index.html

解答

这就涉及到nginx查找相对路径的机制。nginx会把--prefix拼接到相对路径的前面,共同组成一个完整的路径。

--prefix在不同的环境中安装可能都是不一样的。可以通过nginx -V查看到相关配置

nginx -V
nginx version: nginx/1.24.0
built with OpenSSL 3.1.0 14 Mar 2023
TLS SNI support enabled
configure arguments: --prefix=/var/lib/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --pid-path=/run/nginx/nginx.pid --lock-path=/run/nginx/nginx.lock --http-client-body-temp-path=/var/lib/nginx/tmp/client_body 
......
......

可以看到上面--prefix=/var/lib/nginx,因此此时nginx查找的html的完整路径是 /var/lib/nginx/html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值