nginx做靜態伺服器時候,如果發現訪問的靜態資源是404,則需要更改配置如下
server
location /images/
}
root響應的路徑:配置的路徑+完整訪問路徑(完整的location配置路徑+靜態檔案)alias響應的路徑:配置路徑+靜態檔案(去除location中配置的路徑)使用alias時目錄名後面一定要加「/」
一般情況下,在location /中配置root,在location /other中配置alias
下文**易百教程
乙個重要的web伺服器任務是提供檔案(如影象或靜態html頁面)。這裡我們來學習如何實現乙個示例,根據請求,檔案將從不同的本地目錄提供:/data/www
(可能包含html檔案)和/data/images
(包含影象)。這將需要編輯配置檔案,並使用兩個位置塊在http塊內設定伺服器塊。
首先,建立/data/www
目錄,並將乙個包含任何文字內容的index.html
檔案放入其中,並建立/data/images
目錄並在其中放置一些影象。建立兩個目錄 -
[root@localhost ~]# mkdir -p /data/www
[root@localhost ~]# mkdir -p /data/images
[root@localhost ~]#
分別在上面建立的兩個目錄中放入兩個檔案:/data/www/index.html
和/data/images/logo.png
,/data/www/index.html
檔案的內容就一行,如下 -
接下來,開啟配置檔案(/usr/local/nginx/conf/nginx.conf
)。 預設的配置檔案已經包含了伺服器塊的幾個示例,大部分是注釋掉的。 現在注釋掉所有這樣的塊,並啟動乙個新的伺服器塊:
}通常,配置檔案可以包括伺服器監聽的埠和伺服器名稱區分的幾個server
塊。當nginx決定哪個伺服器處理請求後,它會根據伺服器塊內部定義的location
指令的引數測試請求頭中指定的uri。
將以下location
塊新增到伺服器(server
)塊:
該location
塊指定與請求中的uri相比較的「/
」字首。 對於匹配請求,uri將被新增到root
指令中指定的路徑(即/data/www
),以形成本地檔案系統上所請求檔案的路徑。 如果有幾個匹配的location
塊,nginx將選擇具有最長字首來匹配location
塊。 上面的location
塊提供最短的字首長度為1
,因此只有當所有其他location
塊不能提供匹配時,才會使用該塊。
接下來,新增第二個location
塊:
location /images/ }}
它將是以/images/
(位置/
也匹配這樣的請求,但具有較短字首,也就是「/images/
」比「/
」長)的請求來匹配。
server
塊的最終配置應如下所示:
server
location /images/
}
這已經是乙個在標準埠80
上偵聽並且可以在本地機器上訪問的伺服器(http://localhost/
)的工作配置。 響應以/images/
開頭的uri的請求,伺服器將從/data/images
目錄傳送檔案。 例如,響應http://localhost/images/logo.png
請求,nginx將傳送服務上的/data/images/logo.png
檔案。 如果檔案不存在,nginx將傳送乙個指示404
錯誤的響應。 不以/images/
開頭的uri的請求將對映到/data/www
目錄。 例如,響應http://localhost/about/example.html
請求時,nginx將傳送/data/www/about/example.html
檔案。
要應用新配置,如果尚未啟動nginx或者通過執行以下命令將過載訊號傳送到nginx的主程序:
[root@localhost ~]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
如果錯誤或異常導致無法正常工作,可以嘗試檢視目錄開啟瀏覽器或使用curl訪問nginx伺服器如下所示 -/usr/local/nginx/logs
或/var/log/nginx
中的access.log
和error.log
檔案中查詢原因。
完整的nginx.conf檔案配置內容如下:
nginx 路徑匹配
location 精準匹配 只匹配指定的請求路徑 location aaa字首匹配 不使用正規表示式,匹配指定字首開頭的請求路徑 location aaa正則匹配 匹配符合正規表示式的請求路徑,區分大小寫 location html location aaa html 正則匹配 匹配符合正規表示式的...
Nginx 路徑匹配規則
location uri 首先匹配 其次匹配 其次是按檔案中順序的正則匹配,最後是交給 通用匹配。當有匹配成功時候,停止匹配,按當前匹配規則處理請求。匹配mp verify txt檔案,中間任意字元,並在 usr share nginx file目錄中尋找對應檔案 靜態檔案工程配置 location...
Nginx 路徑匹配規則,萬用字元
nginx路徑匹配符號 表示精確匹配 表示uri以某個常規字串開頭,大多情況下用來匹配url路徑,nginx不對url做編碼,因此請求為 static 20 aa,可以被規則 static aa匹配到 注意是空格 正則匹配 區分大小寫 正則匹配 不區分大小寫 和 分別為區分大小寫不匹配及不區分大小寫...