說明:
第1個server中,把服務指向了服務器 /tmp/data/路徑下的靜態文件;
第2個server中,把服務指向了3個路由虛(一個路由指向擬機本地部署的tomcat首頁,一個指向tomcat下部署的jenkins,一個指向另一臺虛擬機上部署的應用)
兩個server中配置的監聽端口都是80(也是為了更好地查看測試效果)
server_name指定(html' target='_blank'>虛擬主機)服務器名稱,一般會配置域名(example.org ,www.example.org,可以使用精確的名稱、通配符名稱或正則表達式定義;當你在外網訪問一個請求鏈接時,nginx會根據你填寫的主機名稱來匹配是轉發到server1還是server2)
同樣為了更好地查看測試效果,我在server_name中填寫域名,而不是填寫虛擬機真實的ip或者localhost(因為ip地址都是虛擬機ip,填寫ip地址的話,看不出來nginx是如何轉發請求的)(另外,如果只有一個server的話,server_name其實沒有填寫的必要,因為最終都會轉發至該server下的服務器,我試了下,只要端口正確,都可以轉發成功,內部原理還不清楚。。。)
server1中server_name填寫hanmk.com
server2中server_name填寫demo.com
完成上述配置后,需要重新加載一下配置文件nginx.conf
2.配置客戶端的hosts文件
在第一步中分別在server_name中配置了hanmk.com和demo.com,但是因為并沒有開通域名服務,所以直接在客戶端使用這2個域名來發送請求,是會失敗的,所以為了能夠使用這兩個假域名正常發送請求,要先在客戶端主機配置一下,步驟如下:
打開hosts文件,添加如下兩行即可(因為映射ip地址相同,所以把兩個域名加在一行也可以,用空格隔開)
3.測試
(1)使用http://hanmk.com/發送請求,訪問到的是虛擬機 /tmp/data/路徑下的靜態文件
(2)分別訪問http://demo.com/、http://demo.com/jenkins、http://demo.com/ApprPhD/index,結果如下
說明nginx根據訪問鏈接域名的不同匹配到了相應的server服務器,然后再根據location路徑,路由到對應的服務
以上就是實例詳解nginx是用什么方式處理請求的的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答
圖片精選