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