Nginx安裝和部署
Nginx
1.課程目標(biāo)
目標(biāo)1:掌握Nginx的安裝
目標(biāo)2:掌握Nginx的靜態(tài)網(wǎng)站部署
目標(biāo)3:理解Nginx的反向代理與負(fù)載均衡,能夠配置反向代理與負(fù)載均衡
2.Nginx的安裝與啟動(dòng)
Nginx 是一款高性能的 http 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器。由俄羅斯的程序設(shè)計(jì)師伊戈?duì)枴の魉鞣颍↖gor Sysoev)所開發(fā),官方測(cè)試 nginx 能夠支支撐 5 萬(wàn)并發(fā)鏈接,并且 cpu、內(nèi)存等資源消耗卻非常低,運(yùn)行非常穩(wěn)定。
Nginx 應(yīng)用場(chǎng)景:
1、http 服務(wù)器。Nginx 是一個(gè) http 服務(wù)可以獨(dú)立提供 http 服務(wù)??梢宰鼍W(wǎng)頁(yè)靜態(tài)服務(wù)器。
2、虛擬主機(jī)??梢詫?shí)現(xiàn)在一臺(tái)服務(wù)器虛擬出多個(gè)網(wǎng)站。例如個(gè)人網(wǎng)站使用的虛擬主機(jī)。
3、反向代理,負(fù)載均衡。當(dāng)網(wǎng)站的訪問(wèn)量達(dá)到一定程度后,單臺(tái)服務(wù)器不能滿足用戶的請(qǐng)求時(shí),需要用多臺(tái)服務(wù)器集群可以使用 nginx 做反向代理。并且多臺(tái)服務(wù)器可以平均分擔(dān)負(fù)載,不會(huì)因?yàn)槟撑_(tái)服務(wù)器負(fù)載高宕機(jī)而某臺(tái)服務(wù)器閑置的情況。
重新準(zhǔn)備一臺(tái)虛擬機(jī)作為服務(wù)器。比如IP地址為192.168.177.129
(1)需要安裝 gcc 的環(huán)境【此步省略】
(2)第三方的開發(fā)包。
? PCRE
PCRE(Perl Compatible Regular Expressions)是一個(gè) Perl 庫(kù),包括 perl 兼容的正則表達(dá)式庫(kù)。nginx 的 http 模塊使用 pcre 來(lái)解析正則表達(dá)式,所以需要在 linux 上安裝 pcre 庫(kù)。
注:pcre-devel 是使用 pcre 開發(fā)的一個(gè)二次開發(fā)庫(kù)。nginx 也需要此庫(kù)。
? zlib
zlib 庫(kù)提供了很多種壓縮和解壓縮的方式,nginx 使用 zlib 對(duì) http 包的內(nèi)容進(jìn)行 gzip,所以需要在 linux 上安裝 zlib 庫(kù)。
? OpenSSL
OpenSSL 是一個(gè)強(qiáng)大的安全套接字層密碼庫(kù),囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及 SSL 協(xié)議,并提供豐富的應(yīng)用程序供測(cè)試或其它目的使用。nginx 不僅支持 http 協(xié)議,還支持 https(即在 ssl 協(xié)議上傳輸 http),所以需要在 linux安裝 openssl 庫(kù)。
官方網(wǎng)站下載 nginx:http://nginx.org/
我們課程中使用的版本是 1.8.0 版本。
第一步:把 nginx 的源碼包nginx-1.8.0.tar.gz上傳到 linux 系統(tǒng)
第二步:解壓縮
第三步:進(jìn)入nginx-1.8.0目錄 使用 configure 命令創(chuàng)建一 makeFile 文件。
執(zhí)行后可以看到Makefile文件
第四步:編譯
第五步:安裝
注意:?jiǎn)?dòng)nginx 之前,上邊將臨時(shí)文件目錄指定為/var/temp/nginx/client, 需要在/var 下創(chuàng)建此 目錄
進(jìn)入到Nginx目錄下的sbin目錄
輸入命令啟動(dòng)Nginx
啟動(dòng)后查看進(jìn)程
地址欄輸入虛擬機(jī)的IP即可訪問(wèn)(默認(rèn)為80端口)
關(guān)閉 nginx:
或者
重啟 nginx:
1、先關(guān)閉后啟動(dòng)。
2、刷新配置文件:
3.Nginx靜態(tài)網(wǎng)站部署
將/資料/靜態(tài)頁(yè)面/index目錄下的所有內(nèi)容 上傳到服務(wù)器的/usr/local/nginx/html下即可訪問(wèn)
虛擬主機(jī),也叫“網(wǎng)站空間”,就是把一臺(tái)運(yùn)行在互聯(lián)網(wǎng)上的物理服務(wù)器劃分成多個(gè)“虛擬”服務(wù)器。虛擬主機(jī)技術(shù)極大的促進(jìn)了網(wǎng)絡(luò)技術(shù)的應(yīng)用和普及。同時(shí)虛擬主機(jī)的租用服務(wù)也成了網(wǎng)絡(luò)時(shí)代的一種新型經(jīng)濟(jì)形式。
(1)上傳靜態(tài)網(wǎng)站:
將/資料/靜態(tài)頁(yè)面/index目錄上傳至 /usr/local/nginx/index下
將/資料/靜態(tài)頁(yè)面/regist目錄上傳至 /usr/local/nginx/regist下
(2)修改Nginx 的配置文件:/usr/local/nginx/conf/nginx.conf
(3)訪問(wèn)測(cè)試:
地址欄輸入http://192.168.177.129/:81 可以看到首頁(yè)面
地址欄輸入http://192.168.177.129/:82 可以看到注冊(cè)頁(yè)面
什么是域名:
域名(Domain Name),是由一串用“點(diǎn)”分隔的字符組成的Internet上某一臺(tái)計(jì)算機(jī)或計(jì)算機(jī)組的名稱,用于在數(shù)據(jù)傳輸時(shí)標(biāo)識(shí)計(jì)算機(jī)的電子方位(有時(shí)也指地理位置,地理上的域名,指代有行政自主權(quán)的一個(gè)地方區(qū)域)。域名是一個(gè)IP地址上有“面具” 。域名的目的是便于記憶和溝通的一組服務(wù)器的地址(網(wǎng)站,電子郵件,F(xiàn)TP等)。域名作為力所能及難忘的互聯(lián)網(wǎng)參與者的名稱。域名按域名系統(tǒng)(DNS)的規(guī)則流程組成。在DNS中注冊(cè)的任何名稱都是域名。域名用于各種網(wǎng)絡(luò)環(huán)境和應(yīng)用程序特定的命名和尋址目的。通常,域名表示互聯(lián)網(wǎng)協(xié)議(IP)資源,例如用于訪問(wèn)因特網(wǎng)的個(gè)人計(jì)算機(jī),托管網(wǎng)站的服務(wù)器計(jì)算機(jī),或網(wǎng)站本身或通過(guò)因特網(wǎng)傳送的任何其他服務(wù)。世界上第一個(gè)注冊(cè)的域名是在1985年1月注冊(cè)的。
域名級(jí)別:
(1)頂級(jí)域名
頂級(jí)域名又分為兩類:
一是國(guó)家頂級(jí)域名(national top-level domainnames,簡(jiǎn)稱nTLDs),200多個(gè)國(guó)家都按照ISO3166國(guó)家代碼分配了頂級(jí)域名,例如中國(guó)是cn,美國(guó)是us,日本是jp等;
二是國(guó)際頂級(jí)域名(international top-level domain names,簡(jiǎn)稱iTDs),例如表示工商企業(yè)的 .Com .Top,表示網(wǎng)絡(luò)提供商的.net,表示非盈利組織的.org,表示教育的.edu,以及沒(méi)有限制的中性域名如.xyz等。大多數(shù)域名爭(zhēng)議都發(fā)生在com的頂級(jí)域名下,因?yàn)槎鄶?shù)公司上網(wǎng)的目的都是為了贏利。但因?yàn)樽?014年以來(lái)新頂級(jí)域名的發(fā)展,域名爭(zhēng)議案件數(shù)量增長(zhǎng)幅度越來(lái)越大 。為加強(qiáng)域名管理,解決域名資源的緊張,Internet協(xié)會(huì)、Internet分址機(jī)構(gòu)及世界知識(shí)產(chǎn)權(quán)組織(WIPO)等國(guó)際組織經(jīng)過(guò)廣泛協(xié)商, 在原來(lái)三個(gè)國(guó)際通用頂級(jí)域名:(com)的基礎(chǔ)上,新增加了7個(gè)國(guó)際通用頂級(jí)域名:firm(公司企業(yè))、store(銷售公司或企業(yè))、Web(突出WWW活動(dòng)的單位)、arts(突出文化、娛樂(lè)活動(dòng)的單位)、rec (突出消遣、娛樂(lè)活動(dòng)的單位)、info(提供信息服務(wù)的單位)、nom(個(gè)人),并在世界范圍內(nèi)選擇新的注冊(cè)機(jī)構(gòu)來(lái)受理域名注冊(cè)申請(qǐng)。
例如:baidu.com
(2)二級(jí)域名
二級(jí)域名是指頂級(jí)域名之下的域名,在國(guó)際頂級(jí)域名下,它是指域名注冊(cè)人的網(wǎng)上名稱,例如 ibm,yahoo,microsoft等;在國(guó)家頂級(jí)域名下,它是表示注冊(cè)企業(yè)類別的符號(hào),例如.top,com,edu,gov,net等。
中國(guó)在國(guó)際互聯(lián)網(wǎng)絡(luò)信息中心(Inter NIC) 正式注冊(cè)并運(yùn)行的頂級(jí)域名是CN,這也是中國(guó)的一級(jí)域名。在頂級(jí)域名之下,中國(guó)的二級(jí)域名又分為類別域名和行政區(qū)域名兩類。類別域名共7個(gè), 包括用于科研機(jī)構(gòu)的ac;用于工商金融企業(yè)的com、top;用于教育機(jī)構(gòu)的edu;用于政府部門的 gov;用于互聯(lián)網(wǎng)絡(luò)信息中心和運(yùn)行中心的net;用于非盈利組織的org。而行政區(qū)域名有34個(gè),分別對(duì)應(yīng)于中國(guó)各省、自治區(qū)和直轄市。
例如:map.baidu.com
(3)三級(jí)域名
三級(jí)域名用字母( A~Z,a~z,大小寫等)、數(shù)字(0~9)和連接符(-)組成, 各級(jí)域名之間用實(shí)點(diǎn)(.)連接,三級(jí)域名的長(zhǎng)度不能超過(guò)20個(gè)字符。如無(wú)特殊原因,建議采用申請(qǐng)人的英文名(或者縮寫)或者漢語(yǔ)拼音名 (或者縮寫) 作為三級(jí)域名,以保持域名的清晰性和簡(jiǎn)潔性。
例如:
item.map.baidu.com
域名與IP綁定:
一個(gè)域名對(duì)應(yīng)一個(gè) ip 地址,一個(gè) ip 地址可以被多個(gè)域名綁定。
本地測(cè)試可以修改 hosts 文件(C:dowstem32vers)
可以配置域名和 ip 的映射關(guān)系,如果 hosts 文件中配置了域名和 ip 的對(duì)應(yīng)關(guān)系,不需要走dns 服務(wù)器。
192.168.177.129 www.hmtravel.com
192.168.177.129 regist.hmtravel.com
做好域名指向后,修改nginx配置文件
執(zhí)行以下命令,刷新配置
[root@localhost sbin]# ./nginx -s reload
測(cè)試:
地址欄輸入http://www.hmtravel.com/
地址欄輸入http://regist.hmtravel.com/
4.Nginx反向代理與負(fù)載均衡
反向代理(Reverse Proxy)方式是指以代理服務(wù)器來(lái)接受internet上的連接請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給internet上請(qǐng)求連接的客戶端,此時(shí)代理服務(wù)器對(duì)外就表現(xiàn)為一個(gè)反向代理服務(wù)器。
首先我們先理解正向代理,如下圖:
正向代理是針對(duì)你的客戶端,而反向代理是針對(duì)服務(wù)器的,如下圖
(1) 將travel案例部署到tomcat中(ROOT目錄),上傳到服務(wù)器。
(2)啟動(dòng)TOMCAT,輸入網(wǎng)址http://192.168.177.129:8080 可以看到網(wǎng)站首頁(yè)
(1)在Nginx主機(jī)修改 Nginx配置文件
負(fù)載均衡 建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,它提供了一種廉價(jià)有效透明的方法擴(kuò)展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性。
負(fù)載均衡,英文名稱為L(zhǎng)oad Balance,其意思就是分?jǐn)偟蕉鄠€(gè)操作單元上進(jìn)行執(zhí)行,例如Web服務(wù)器、FTP服務(wù)器、企業(yè)關(guān)鍵應(yīng)用服務(wù)器和其它關(guān)鍵任務(wù)服務(wù)器等,從而共同完成工作任務(wù)。
(1)將剛才的存放工程的tomcat復(fù)制三份,修改端口分別為8080 ,8081,8082 。
(2)分別啟動(dòng)這三個(gè)tomcat服務(wù)。
(3)為了能夠區(qū)分是訪問(wèn)哪個(gè)服務(wù)器的網(wǎng)站,可以在首頁(yè)標(biāo)題加上標(biāo)記以便區(qū)分。
修改 Nginx配置文件:
地址欄輸入http:// www.hmtravel.com / 刷新觀察每個(gè)網(wǎng)頁(yè)的標(biāo)題,看是否不同。
經(jīng)過(guò)測(cè)試,三臺(tái)服務(wù)器出現(xiàn)的概率各為33.3333333%,交替顯示。
如果其中一臺(tái)服務(wù)器性能比較好,想讓其承擔(dān)更多的壓力,可以設(shè)置權(quán)重。
比如想讓NO.1出現(xiàn)次數(shù)是其它服務(wù)器的2倍,則修改配置如下:
經(jīng)過(guò)測(cè)試,每刷新四次,有兩次是8081
聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)
送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)
需注明出處:新網(wǎng)idc知識(shí)百科