首頁»服務器»Nginx入門到實戰(4)常見問題

Nginx入門到實戰(4)常見問題

來源:海島 發布時間:2019-07-02 閱讀次數:

一、相同 server_name 多個虛擬主機優先級

#當出現虛擬主機域名相同的情況,重啟nginx時,會出現警告??處理,但是并不不會阻止nginx繼續使用

server {
    listen 80;
    server_name www.baidu.com
    ...
}

server {
    listen 80;
    server_name www.baidu.com
    ...
}

...

優先選擇最新讀取到的配置文件,當多個文件是通過include時,文件排序越靠前,越早被讀取

二、location 匹配優先級

 =        #進行普通字符精確匹配,完全匹配
 ^~       #進行普通字符匹配,當前表示前綴匹配
 ~\~*     #表示執行一個正則匹配()

#當程序使用精確匹配時,一但匹配成功,將停止其他匹配
#當正則匹配成功時,會繼續接下來的匹配,尋找是否還有更精準的匹配

三、try_files的使用

按順序檢查文件是否存在

location / {
    try_files $uri $uri/ /index.php;
}

#先查找$uri下是否有文件存在,若存在直接返回給用戶
#若$url下沒有文件存在,再次訪問$uri/的路徑是否有文件存在
#還是沒有文件存在,交給index.php處理

例:
location / {
    root /test/index.html
    try_files $uri @test
}

location @test {
    proxy_pass http://127.0.0.1:9090;
}

#訪問 / 時,查看 /test/index.html 文件是否存在
#若不存在,讓9090端口的程序去處理這個請求

四、alias和root的區別

location /request_path/image/ {
    root /local_path/image/;
}

#當我們訪問 http://xxx.com/request_path/image/cat.png時
#將訪問 http://xxx.com/request_path/image/local_path/image/cat.png 下的文件

location /request_path/image/ {
    alias /local_path/image/;
}

#當我們訪問 http://xxx.com/request_path/image/cat.png時
#將訪問 http://xxx.com/local_path/image/cat.png 下的文件

五、如果用戶真實IP

當一個請求通過多個代理服務器時,用戶的IP將會被代理服務器IP覆蓋

#在第一個代理服務器中設置
    set x_real_ip=$remote_addr
#最后一個代理服務器中獲取
    $x_real_ip=IP1

六、Nginx 常見錯誤碼

413 Request Entity Too Large    #上傳文件過大,設置 client_max_body_size
503 bad gateway                 #后端服務無響應
504 Gateway Time-out            #后端服務執行超時 
QQ群:WEB開發者官方群(515171538),驗證消息:10000
微信群:加小編微信 849023636 邀請您加入,驗證消息:10000
提示:更多精彩內容關注微信公眾號:全棧開發者中心(fsder-com)
網友評論(共0條評論) 正在載入評論......
理智評論文明上網,拒絕惡意謾罵 發表評論 / 共0條評論
登錄會員中心
李逵劈鱼9900炮 广西快三进群 易彩快三开奖走势图 快三选号技巧规律 有没有新时时赔率高的平台 11选五任选八多少钱 一肖中特版 山东时时开奖号码走势图 吉林快三开奖的走势 北京时时规律 官方特马