nginx はどのようにしてデフォルトのルート ディレクトリ (ルート 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 が相対パスを見つけるメカニズムが関係します。--prefix
nginx は、相対パスの前にスプライシングを配置して、完全なパスを形成します。
--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