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
版权归原作者 兮木兮木 所有, 如有侵权,请联系我们删除。