虛擬主機:就是將一台物理伺服器虛擬為多個伺服器來使用,從而實現一台伺服器上配置多個站點,即可以在一台物理主機上配置多個網域名稱,ngxin中乙個server標籤代表的就是乙個虛擬機器,配置多個server標籤就許你出了多個主機
nginx虛擬主機的實現方式有兩種:網域名稱虛擬方式、埠虛擬方式
我們模擬58同城,每個城市都有每個城市的站點,我們建立三個站點,分別是"總站"、"成都站"、"上海站",每個站點通過nginx都是乙個虛擬主機,每個站點都配置負載均衡,也就是說需要7臺機器,乙個nginx負責虛擬主機和負載均衡,6個主機分成三組,分別為三個站點的訪問提供負載均衡,由於6個機器太麻煩了,我們就把6個tomcat都裝在乙個主機上,全部修改埠即可,現在我們只需要兩台就行
首先建立三個web工程,他們的index.jsp分別如下:
通過上面三個web專案的jsp,可以猜想一下待會兒我們的實現效果,我們可以通過乙個網域名稱的頁面去訪問另乙個網域名稱的的頁面,而他們之間訪問的確實to你跟乙個ngxin,在nginx上我們配置虛擬主機,支援這種跨網域名稱跳轉
當然,我修改了本地的hosts,這個網域名稱我可買不起,使用的是:switchhosts
根據這個配置:588.com 、588.chengdu.com、588.shanghai.com,其實我們都是訪問的192.168.159.169
關於hosts方面的知識,我就蜻蜓點水吧,當我們的瀏覽器在訪問我們請求時,首先會查詢本地的hosts檔案,查詢是否匹配上某個路由,如果匹配上,就走本地的路由,如果沒有匹配上再通過網路匹配,如上圖所示,我們給588.com、588.chengdu.com、588.shanghai.com在本地都做了具體的路由,全部指向192.168.159.169,這三個請求都指向同乙個路由
下面繼續說demo,這裡我其實還是有一點不同,在本地hosts修改的對映路徑,到了我們的服務端,我們的請求路徑應該是我們瀏覽器上的請求路徑,而不是本地的對映路徑?demo後面會驗證
我們再192.168.159.159著太機器上安裝6個tomcat,如下所示:
這6個tomcat,我們全部修改他們的埠,並按照一定的規律 [ 便於記憶 ],我們以tomcat1為列:
這裡需要注意一下,我們只有三個站點,有6個tomcat,我們是要做負載均衡的,所有每每兩個tomcat放乙個專案,將6個tomcat安排的明明白白!
然後就是修改我們的nginx負載均衡以及配置虛擬主機
悄悄的說一下,這個玩意兒我搞了一兩三個小時,為什麼?因為埠,我寫的最後我還去閱讀了錯誤日誌,說是服務不可用,你看上面我的tomcat埠,去尼瑪的 8001、8002...我就說nginx配置檔案檢查也通過,但是啟動就是502,單獨訪問也能訪問,但是就是不能走這個nginx,闖了鬼?
記得修改埠為8081、8082、8083、...不然你可能永遠都找不到原因!
扭開我們的瀏覽器進行訪問測試,我們的得力助手chrome不出以外的開啟快取,沾花惹草的我又開啟了firefox,en! 香!
效果如下:
首先對總站的負載均衡,看埠資料:
點選"上海",背手觀察:
自信的按下成都按鈕:
好了,今天的學習總結就到這兒吧,已經很晚了,晚安!
nginx虛擬主機
利用虛擬主機,不同為每個要執行的 提供一台單獨的nginx伺服器或單獨執行一組nginx程序。虛擬主機提供了在同一臺伺服器 同一組nginx程序上執行多個 的功能。在nginx配置檔案nginx.conf中,乙個最簡化的虛擬主機配置 如下 server 可以在一塊物理網絡卡上繫結多個lp位址。這樣就...
nginx虛擬主機
虛擬主機 有的 訪問量大,需要負載均衡。然而並不是所有 都如此出色,有的 由於訪問量太小,需要節省成本,將多個 部署在同一臺伺服器上。例如將www.aaa.com和www.bbb.com兩個 部署在同一臺伺服器上,兩個網域名稱解析到同乙個ip位址,但是使用者通過兩個網域名稱卻可以開啟兩個完全不同的 ...
Nginx虛擬主機
1 實現兩個基於網域名稱的虛擬主機,網域名稱分別為www.tarena.com和bbs.tarena.com 2 網域名稱為bbs.tarena.com的web服務僅允許192.168.4.205訪問 3 對網域名稱為bbs.tarena.com的站點進行使用者認證,使用者名稱稱為tom,密碼為12...