Comment nginx trouve-t-il le répertoire racine par défaut (root html)
configuration de sortie 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;
}
}
Le fichier de configuration nginx se trouve sur le système /etc/nginx/nginx.conf
et index.html
l'emplacement du service est /var/lib/nginx/html/index.html
. Maintenant, regardez la configuration ci-dessus, comment trouve nginx selon la configuration /var/lib/nginx/html/index.html
?
répondre
Cela implique le mécanisme par lequel nginx trouve des chemins relatifs. nginx placera --prefix
l'épissage devant le chemin relatif pour former un chemin complet ensemble.
--prefix
L'installation peut être différente dans différents environnements. nginx -V
Vous pouvez afficher la configuration pertinente en
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
......
......
Vous pouvez voir ce qui précède --prefix=/var/lib/nginx
, donc le chemin complet du html que nginx recherche à ce moment est/var/lib/nginx/html