Nginx配置之rewrite、proxy_pass、upstream、location

如圖,這是Nginx的配置文件nginx.conf中的一段配置代碼。nginx

在http段中定義了一個名爲webservers的upstream模塊,主要用於負載均衡。web

在server模塊中,定義了一個location模塊,名爲"/",意爲最低優先級的URL匹配。在該location模塊中,將proxy_pass設置爲http://webservers,即指定了咱們剛纔定義的upstream模塊。正則表達式

下面有一個if判斷,$request_uri能夠獲取表示請求的uri這一全局變量,~表示區分大小寫的匹配。瀏覽器

rewrite用於重寫URL,其後面的這一長串用藍色下劃線標出的字符串分爲兩個部分,第一部分是$以及$以前的部分,即^/MonkeyServlet/([0-9]+)/(.+)$,是一個URI正則表達式,用於匹配請求的URL,即原始的URL;而$後面的部分,即/monkey/MonkeyServlet?id=$1&name=$2? permanent,表示重寫後的URL。$1表明第一部分中第一個正則表達式匹配的內容,即([0-9]+)匹配的內容,$2表明第一部分中第二個正則表達式匹配的內容,即(.+)匹配的內容。負載均衡

例如:咱們瀏覽器地址欄中請求地址爲http://localhost/MonkeyServlet/21212/James,重寫後會變爲http://localhost/monkey/MonkeyServlet?id=21212&name=James。server

剛剛接觸Nginx,好多不懂的地方,歡迎各位批評指正。若轉載請標明出處,謝謝~~  blog

相關文章
相關標籤/搜索