Nginx中root和alias的區別

秋雨欲来风满楼發表於2024-05-23

nginx中的root的使用方式

  • 定義: root 指令用於設定伺服器上的根目錄,從這個根目錄開始,Nginx 會根據請求的 URI 拼接路徑來尋找檔案。
  • 使用方式:root 指令通常在 server 塊或 location 塊中使用。
  • 路徑:root 所指定的路徑會與 location 塊中的 URI 一起構成檔案系統路徑。
server {
    listen 80;
    server_name example.com;

    location /images/ {
        root /var/www/data;
    }
}

在上面的配置中,請求 http://example.com/images/example.jpg 會對映到 /var/www/data/images/example.jpg

---------------------------------------------------------------------------------------------------------------------------------------------------------

拾壹部落格前端前臺的網頁發起請求連線如下

這就是適合使用root的情況,具體程式碼如下圖

location / {
root c:/install/blog/dist/; index index.html index.htm; try_files $uri $uri/ /index.html; }

nginx中的alias的使用方式

  • 定義:alias 指令用於將某個 URI 直接對映到檔案系統中的某個目錄。alias 替換的是 location 塊匹配的整個路徑。
  • 使用方式:alias 只能在 location 塊中使用。
  • 路徑:alias 所指定的路徑是直接對映到檔案系統路徑,並不會與 location 塊中的 URI 進行進一步組合。
server {
    listen 80;
    server_name example.com;

    location /image/ {
        alias /var/www/images/;
    }
}

在上面的配置中,請求 http://example.com/image/example.jpg 會直接對映到 /var/www/images/example.jpg,而不是 /var/www/images/image/example.jpg

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

拾壹部落格前端後臺的網頁發起請求連線如下

這就是適合使用alias的情況,具體程式碼如下圖

location /admin {
    alias c:/install/blog/dist2/;    
    index index.html index.htm;
    try_files $uri $uri/ /index.html;
}

相關文章