1.多個server的優先級
以每個server區塊都監聽80端口為例,www.pm.com對應服務器ip地址,匹配順序為:
①server_name和www.pm.com完全相同的區塊。
②server_name為 *.pm.com 的區塊。(通配符在前)
③server_name為 pm.* 的區塊。(通配符在后)
④server_name使用正則表達式并能匹配上www.pm.com的區塊。
⑤如果都沒有匹配到,將選擇 listen 80 default_server;的區塊。
⑥如果沒有第5項,則選擇第一個配置文件的第一個server區塊。

訪問域名www.pm.com就是優先選擇上面的server。
如果此時以ip訪問,在請求頭中的Host字段的值就是192.168.1.7,無法匹配到server_name,就會按照規則匹配到下面的那個server。

2.禁止IP訪問
禁止IP訪問可以防止別人惡意將域名解析到自己的IP上。
兩種形式:

注:第一種方法必須使用 default_server,如果別的地方要用default_server,可以用第二種方法的形式。
3.多用include(寫好注釋)
一臺服務器配置多個server網站,會導致主配置文件nginx.conf非常臃腫,可讀性變差,則可以多使用include方法,簡化主配置文件,便于運維人員維護。
4.使用alias保護網站真實目錄結構
當我們以http://www.pm.com/image/logo.png訪問該圖片時,按常規來說,訪問者就知道了該圖片的路徑位置
location /image {
root /pm_code;
}
對應的路徑為 /pm_code/image/
當使用alias時:
location /image {
alias /pm_code;
}
此時圖片真實的位置是在/pm_code下,/image是一個虛擬目錄,alias后面是絕對目錄路徑。
5.error_page的配置
模擬404報錯

當輸入一個不存在的網址時,如http://www.pm.com/jfkdjfk 會跳轉到/pm_code/www/404.jpg
模擬502報錯

在瀏覽器中輸入www.pm.com,鏈接超時,會顯示/pm_code/www/500.jpg
注意:兩者之間的格式不同。500必須再寫一個location。
6.try_files配置
一個簡單的例子:

當在瀏覽器輸入www.pm.com時,會先去找400.html,如果沒有再去找index.html
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。