地 址:上海市徐匯區66號 電 話(huà):13302171506 網(wǎng)址:www.fxyjd.com 郵 箱:[email protected]
Nginx
目標1:掌握Nginx的??裝和安裝
目標2:掌握Nginx的靜態(tài)網(wǎng)站部署
目標3:理解Nginx的反向代理與負載均衡,能夠配置反向代理與(′ω`*)負載均衡
Nginx 是一款高性能的 http 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器。由俄羅斯的裝和程序設計師伊戈爾·西索夫??(Igor Sysoev)所開(kāi)發(fā),官方測試 nginx 能夠支支撐 5 萬(wàn)并發(fā)鏈接,部署并且 cpu、裝和內存等資源消耗卻非常低,部署運行非常穩定。裝和
Nginx 應用場(chǎng)景:
1、部署http 服務(wù)器(qi)。裝和Nginx 是部署一個(gè) http 服務(wù)(wu)可以獨立提供 http 服務(wù)??梢宰鼍W(wǎng)頁(yè)靜態(tài)服務(wù)器。裝和
2、部署虛擬主機。裝和可以實(shí)現在一臺服務(wù)器虛擬出多個(gè)網(wǎng)站。部署例如個(gè)人網(wǎng)站使用的裝和虛擬主機。
3、(◎_◎;)反向代理,負載均衡。當網(wǎng)站的訪(fǎng)問(wèn)量達到一定程度后,單臺服務(wù)器不能滿(mǎn)(′▽?zhuān)?)足用戶(hù)的請求時(shí),需要用多臺服務(wù)器集群可以使用 nginx 做反向代理。并且多臺服務(wù)器可以平均分擔負載,不會(huì )因為某臺服務(wù)器負載高宕機而某臺服務(wù)器閑置的情況。
重新準備一臺虛擬機作為服務(wù)器(qi)。比如IP地址??為192.168.177.129
(1)需要安裝 gcc 的環(huán)境【此步省略】(◎_◎;)
(2)第三方的開(kāi)發(fā)包。
? PCRE
PCRE(Perl Compatible Regular Expressions)是一個(gè) Per??l 庫,包括 perl 兼容的(de)正則表達式庫。nginx 的 http 模塊使用 pcre 來(lái)解┐(′д`)┌析正則表達式,所以需要在 linux 上安裝 pcre 庫。
注:pcre-devel 是使用 pcre 開(kāi)發(fā)的一個(gè)二次開(kāi)發(fā)(′ω`)庫。nginx 也需要此庫。
? zlib
zlib 庫提供了很多種壓縮和解壓縮的方式,nginx 使用 zlib 對 http 包的內容進(jìn)行 gzip,所以需要在 linux 上安裝 zlib 庫。
? open='open'SSL
openSSL 是一個(gè)強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書(shū)ヾ(′▽?zhuān)??封裝管理功能及 SSL 協(xié)議,并提供豐富的應用程序供測試或其它目的使用。ng??inx 不僅支持 http 協(xié)議,還支持 https(即在 ssl 協(xié)議上傳輸 http),所以需要在 linux安裝 open='open'ssl 庫。
官方網(wǎng)站下載 nginx:http://nginx.org/
我們課程中使用的版本是 1.8.0 版本。
第一步:把 nginx 的源碼包nginx-1.8.0.??tar.gz上傳到 linux 系統
第二步:解壓縮
第三步:進(jìn)入nginx-1.8.0目錄 使用 configure 命令創(chuàng )建一 makeFile?? 文件(??-)?。
執行后可以看到Makefile文件
第四步:編譯
第五步:安裝
進(jìn)入到Nginx目錄下的s??bin目錄
輸入命令啟動(dòng)Nginx
啟動(dòng)后查看進(jìn)程
地址欄輸入虛擬(′?ω?`)機的IP即可訪(fǎng)問(wèn)(默認為80端口)
關(guān)閉 nginx:
或者
重啟 nginx:
2、刷新配置文件:
將/資料/靜態(tài)頁(yè)面/index目錄下的所有內容 上傳到服務(wù)器的/usr/local/nginx/html下即可訪(fǎng)問(wèn)
虛擬主機,也叫“網(wǎng)站空間”,就是把一臺運行在互聯(lián)網(wǎng)上的物理服務(wù)器劃分成多個(gè)“虛擬”服務(wù)器。虛擬主機技術(shù)極大的促進(jìn)了網(wǎng)絡(luò )技術(shù)的應用和普及。同時(shí)虛擬主機的租用服務(wù)也成了網(wǎng)絡(luò )時(shí)代的一種新型經(jīng)濟形式。
(1)上傳靜態(tài)網(wǎng)站:
將/資料/靜態(tài)頁(yè)面/index目錄上傳至 /usr/local/nginx/index下
將/資料/靜態(tài)頁(yè)面/regist(′?`*)目錄上傳至 /usr/local/ngin(′_ゝ`)x/regist下
(2)修改Nginx 的配置文件:/usr/local/nginx/conf/nginx.conf
(3)訪(fǎng)問(wèn)測試:
地址欄輸入http://192.168.177.129/:81 可以看到首頁(yè)面
地址欄輸(???)入http:┐(′?`)┌//192.168.177.??129/:82 可以看到注冊頁(yè)面
域名(??ヮ?)?*:???(Domain Name),是由一串用“點(diǎn)”分隔的字符組成的Internet上某一臺計算機或計??算機組的名稱(chēng)??,用于在數據傳輸時(shí)ˉ\_(ツ)_/ˉ標識計算機的電子方位(有時(shí)也指地理位置,地理上的域名,指代有行政自主權的一個(gè)地方區域)。域名是一個(gè)IP地址上有“面具” 。域名的目的是便于記憶和溝通的一組服務(wù)器的地址(網(wǎng)站,電子郵件,FTP等)。域名作為力所能及難忘的互聯(lián)網(wǎng)參與者的名稱(chēng)。域(yu)名按域名系統(DNS)??的規則流程組成。在DNS中注冊的任何名稱(chēng)都是域名。域名用于各種網(wǎng)絡(luò )環(huán)境和應用程序特定的命名和尋址目的。通常,域名表示互聯(lián)網(wǎng)協(xié)議(IP)資源,例如用于訪(fǎng)問(wèn)因特網(wǎng)的個(gè)人計算機,托管網(wǎng)站的服務(wù)??器計算機,或網(wǎng)站本身或通過(guò)因特網(wǎng)傳送的任何其他服務(wù)(wu)。世界上第一個(gè)注冊的域名是在1985年1月注冊的。
域名級別:
(1)頂級域名
頂級域名又分為(wei)兩類(lèi):
一是國(guo)家頂級域名(national top-level domainnames,簡(jiǎn)稱(chēng)nTLDs),200多個(gè)國家都按照ISO3166國家代碼分配了頂級域名,例如中國是cn,美國是us,日本是jp等;
例如:baidu.com
(2)二級域名
二級域名是指頂級域名之下的域名,在國際頂級域名下,它是指域名注冊人的ヽ(′▽?zhuān)?ノ網(wǎng)上名稱(chēng),例如 ibm,yahoo,microsoft等(deng);在國家頂級域名下,它是表示注冊企業(yè)類(lèi)別的符號,例如.top,com,edu,gov,net等。
中國在國際互聯(lián)網(wǎng)絡(luò )信息中心(Inter NIC) 正式注冊并運行的頂級域名是CN,這也是中國的一級域名。在頂級域名之下,中(′?_?`)國的二級??域名又分為類(lèi)別域ヾ(′ω`)?名和行政區域名兩類(lèi)。類(lèi)別域名共7個(gè), 包括用于科研機構的ac;用于工商金融企業(yè)的com、top;用于教育機構的edu;用于政府部門(mén)的 gov;用于互聯(lián)網(wǎng)絡(luò )信息中心和運行中心的net;用于非盈利組織的org。而行政區域名有34個(gè),分別對應于中國各省、自治區(′ω`)和直轄市。
(3)三級域名
例如:
item.map(????).baid(′▽?zhuān)?u.com
域名與IP綁定:
一個(gè)域名對應一個(gè) ip 地址,一個(gè) ip 地址可以被多個(gè)(╬?益?)域名綁定。
本地測試可以(yi)修改 hosts 文件(C:dowstem32vers)
可以配置域(?????)名和 ip 的映射關(guān)系,如果 hosts 文件中配置了域名和(he) ip 的對應關(guān)系(╬?益?),不需要走dns 服務(wù)器。
192.168.177.129 www.hmtravel.com
192.168.177.129 regist.hmtravel.com
做好域名指向后,修改nginx配置文件
執行以下命令,刷新配置
[root@localhost sbin]# ./nginx -s reload
測試:┐(′ー`)┌
地址欄輸入ヽ(′?`)ノhttp://www.hmt??ravel.com/
地址(′ω`)欄輸入http://regist.hmtravel.com/
反向代理(Reverse Proxy)方式是指以代理服務(wù)器來(lái)接受internet上的連接請求,??然后(hou)將請求轉發(fā)給內部網(wǎng)絡(luò )(′_ゝ`)上的服務(wù)器,并將從服務(wù)器上得到的結果返回給internet上請求連接(????)的(de)客戶(hù)端,此時(shí)代理服務(wù)器對外就表現為ヽ(′▽?zhuān)?/一個(gè)反向代( ?▽?)理服務(wù)器。(′_ゝ`)
首先我們先理解正向代理,如下圖:
(1) 將travel案例部??署到tomcat中(ROOT目錄),上(shang)傳到服務(wù)器。
(2)啟動(dòng)TOMCAT,輸入網(wǎng)址http://192.168.177.129:8080 可以看到網(wǎng)站首頁(yè)
(1??)在Nginx主機修改 Nginx配置文件
負載均衡 建立在現有網(wǎng)絡(luò )結構之上,它提供了一種廉價(jià)??有效透明的方法擴展網(wǎng)絡(luò )設備和服務(wù)器的帶寬、增加吞吐(╬?益?)量、加強網(wǎng)絡(luò )數據處理能力、提高網(wǎng)絡(luò )的靈活性和可用性。
(┐(′ー`)┌1)將剛才的存放工程的tomcat復制(′?ω?`)三份,修改端口分別為8080 ,8081,ヽ(′▽?zhuān)?ノ8082 。
(2)分別啟動(dòng)這三個(gè)tomcat服務(wù)。
修改 Nginx配置文件:
地址欄輸入http:// www.hmtravel.com / 刷新觀(guān)察每個(gè)網(wǎng)頁(yè)的標題,看是否不同。
經(jīng)過(guò)測試,三臺服務(wù)器出現的概率各為33.3???333333%,交替??顯示。
如果其中一臺服務(wù)器性能比較好,想讓其承擔更多的壓力,可以設置權重。
比如想讓NO.1出現次數是其它服務(wù)器的2倍,則修ヽ(′ー`)ノ改配置如下:
經(jīng)過(guò)測試,每刷新四次,有兩次是8081