Nginx
1.課程目標
目標1:掌握Nginx的安裝
目標2:掌握Nginx的靜態站配置
目標3:懂得Nginx的反向代理與負載平衡,能夠部署反向代理與負載平衡
2.Nginx的安裝與啟動
Nginx 是一款高功能的 服務器反向代理服務器及電子郵件(IMAPPOP3)代理服務器。由俄羅斯的程序設計師伊戈爾·西索夫(Igor Sysoev)所開闢,官方測試 nginx 能夠支支撐 5 萬并發鏈接,并且 cpu、內存等資本消耗卻極度低,運行極度不亂。
Nginx 應用場景:
1、 服務器。Nginx 是一個 服務可以獨立提供 服務。可以做頁靜態服務器。
2、虛擬主機。可以實目前一臺服務器虛擬出多個站。例如個人站採用的虛擬主機。
3、反向代理,負載平衡。當站的拜訪量到達一定水平后,單臺服務器不能知足用戶的請求時,需要用多臺服務器集群可以採用 nginx 做反向代理。并且多臺服務器可以平均分擔負載,不會由於某臺服務器負載高宕機而某臺服務器閑置的場合。
重新預備一臺虛擬機作為服務器。比如IP地址為192.168.177.129
(1)需要安裝 gcc 的環境此步省掉
(2)第三方的開闢包。
PCRE
PCRE(Perl Compatible R百家樂 超級六egular Expressions)是一個 Perl 庫,包含有 perl 兼容的正則表白式庫。nginx 的 模塊採用 pcre 來分析正則表白式,所以需要在 linux 上安裝 pcre 庫。
注:pcre-devel 是採用 pcre 開闢的一個二次開闢庫。nginx 也需要此庫。
zlib
zlib 庫提供了許多種壓縮求和壓縮的方式,nginx 採用 zlib 對 包的內容進行 gzip,所以需要在 linux 上安裝 zlib 庫。
OpenSSL
OpenSSL 是一個強盛的安全套接字層暗碼庫,囊括重要的暗碼算法、常用的密鑰和證書封裝控制性能及 SSL 協議,并提供豐富的應用程序供測試或別的目的採用。nginx 不僅支援 協議,還支援 s(即在 ssl 協議上傳輸 ),所以需要在 linux安裝 openssl 庫。
官方站下載 nginx:nginx.org
我百家樂洗牌規則們課程中採用的版本是 1.8.0 版本。
第一步:把 nginx 的源碼包nginx-1.8.0.tar.gz上傳到 linux 系統
第二步:解壓縮
第三步:進入nginx-1.8.0目次 採用 configure 號召建立一 makeFile 文件。
執行后可以看到Makefile文件
第四步:編譯
第五步:安裝
注意:啟動nginx 之前,上邊將暫時文件目次指定為vartempnginxclient, 需要在var 下建立此 目次
進入到Nginx目次下的sbin目次
輸入號召啟動Nginx
啟動后察看歷程
地址欄輸入虛擬機的IP即可拜訪(默以為80端口)
關閉 nginx:
或者
重啟 nginx:
1、先關閉后啟動。
2、刷新部署文件:
3.Nginx靜態站配置
將資料靜態頁面index目次下的所有內容 上傳到服務器的usrlocalnginxhtml下即可拜訪
虛擬主機,也叫“站空間”,便是把一臺運行在互聯上的物理服務器分割成多個“虛擬”服務器。虛擬主機專業極大的促進了絡專業的應用和遍及。同時虛擬主機的租用服務也成了絡時代的一種新型經濟格式。
(1)上傳靜態站:
將資料靜態頁面index目次上傳至 usrlocalnginxindex下
將資料靜態頁面regist目次上傳至 usrlocalnginxregist下
(2)改動Nginx 的部署文件:usrlocalngin百家樂體驗金優惠xconfnginx.conf
(3)拜訪測試:
地址欄輸入192.168.177.12981 可以看到首頁面
地址欄輸入192.168.177.12982 可以看到注冊頁面
什麼是域名:
域名(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等。大多數域名爭議都發作在的頂級域名下,由於多數公司上的目的都是為了獲利。但由於自2024年以來新頂級域名的發展,域名爭議案件數目增長幅度越來越大 。為加強域名控制,辦理域名資本的緊張,Internet協會、Internet分址機構及世界知識產權組織(WIPO)等國際組織途經廣泛談判, 在本來三個國際通用頂級域名:()的根基上,新增加了7個國際通用頂級域名:firm(公司企業)、store(銷售公司或企業)、Web(突出WWW活動的單位)、arts(突出文化、娛樂活動的單位)、rec (突出消遣、娛樂活動的單位)、info(提供信息服務的單位)、nom(個人),并活著界范圍內選擇新的注冊機構來受理域名注冊申請。
例如:baidu.
(2)二級域名
二級域名是指頂級域名之下的域名,在國際頂級域名下,它是指域名注冊人的上名稱,例如 ibm,yahoo,microsoft等;在國家頂級域名下,它是表示注冊企業種別的符號,例如.top,,edu,gov,net等。
中國在國際互聯絡信息中央(Inter NIC) 正式注冊并運行的頂級域名是CN,這也是中國的一級域名。在頂級域名之下,中國的二級域名又分為種別域名和行政區域名兩類。種別域名共7個, 包含有用于科研機構的ac;用于工商金融企業的、top;用于教育機構的edu;用于政府部分的 gov;用于互聯絡信息中央和運行中央的net;用于非盈利組織的org。而行政區域名有34個,差別對應于中國各省、自治區和直轄市。
例如:map.baidu.
(3)三級域名
三級域名用字母( A~Z,a~z,大小寫等)、數字(0~9)和連結符(-)組成, 各級域名之間用實點(.)連結,三級域名的長度不能過份20個字符。如無特殊理由,發起采用申請人的英文名(或者縮寫)或者漢語拼音名 (或者縮寫) 作為三級域名,以維持域名的明晰性和扼要性。
例如:
item.map.baidu.
域名與IP綁定:
一個域名對應一個 ip 地址,一個 ip 地址可以被多個域名綁定。
本地測試可以改動 hosts 文件(Cdostem32vers)
可以部署域名和 ip 的映射關系,假如 hosts 百家玩法文件中部署了域名和 ip 的對應關系,不需要走dns 服務器。
192.168.177.129 .hmtravel.
192.168.177.129 regist.hmtravel.
做好域名指向后,改動nginx部署文件
執行以下號召,刷新部署
[rootlocalhost sbin]# .nginx -s reload
測試:
地址欄輸入.hmtravel.
地址欄輸入regist.hmtravel.
4.Nginx反向代理與負載平衡
反向代理(Reverse Proxy)方式是指以代理服務器來接納internet上的連結請求,然后將請求轉發給內部絡上的服務器,并將從服務器上得到的結局返回給internet上請求連結的客戶端,此時代理服務器對外就表現為一個反向代理服務器。
首要我們先懂得正向代理,如下圖:
正向代理是針對你的客戶端,而反向代理是針對服務器的,如下圖
(1) 將travel案例配置到tomcat中(ROOT目次),上傳到服務器。
(2)啟動TOMCAT,輸入址192.168.177.1298080 可以看到站首頁
(1)在Nginx主機改動 Nginx部署文件
負載平衡 創建在現有絡結構之上,它提供了一種廉價有效透徹的想法擴展絡設施和服務器的帶寬、增加吞吐量、加強絡數據處理才幹、提高絡的敏捷性和可用性。
負載平衡,英文名稱為Load Balance,其意思便是分攤到多個操縱單元上進行執行,例如Web服務器、FTP服務器、企業關鍵應用服務器和別的關鍵任務服務器等,從而共同完工工作任務。
(1)將剛才的寄存工程的tomcat復制三份,改動端口差別為8080 ,8081,8082 。
(2)差別啟動這三個tomcat服務。
(3)為了能夠分辨是拜訪哪個服務器的站,可以在首頁題目加上標誌以便分辨。
改動 Nginx部署文件:
地址欄輸入 .hmtravel. 刷新觀測每個頁的題目,看是否差異。
途經測試,三臺服務器出現的概率各為33.3333333,交替顯示。
假如此中一臺服務器功能對照好,想讓其蒙受更多的壓力,可以建置權重。
比如想讓NO.1出現次數是別的服務器的2倍,則改動部署如下:
途經測試,每刷新四次,有兩次是8081