摘要:相信大家都聽說過反向代理,一提到反向代理一定會想到。由于是一款自由的開源的高性能的服務(wù)器和反向代理服務(wù)器這是個開源的時代啊是一個跨平臺服務(wù)器,可以運(yùn)行在等操作系統(tǒng)上。所以反向代理服務(wù)器是引用在服務(wù)端。
本文來自于我的慕課網(wǎng)手記:聊聊 Nginx 的反向代理,轉(zhuǎn)載請保留鏈接 ;)背景
最近在優(yōu)化服務(wù)基礎(chǔ)設(shè)施這塊,正好有時間寫一下Nginx的體會。相信大家都聽說過反向代理,一提到反向代理一定會想到Nginx。什么你沒聽過Nginx?那么你一定聽說過Apache吧!Apache是世界使用排名第一的Web服務(wù)器軟件。它可以運(yùn)行在幾乎所有廣泛使用的計算機(jī)平臺上,由于其跨平臺和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。Apache的發(fā)展時期很長,而且是毫無爭議的世界第一大服務(wù)器。它有著很多優(yōu)點(diǎn):穩(wěn)定、開源、跨平臺等等。它出現(xiàn)的時間太長了,它興起的年代,互聯(lián)網(wǎng)產(chǎn)業(yè)遠(yuǎn)遠(yuǎn)比不上現(xiàn)在。所以它被設(shè)計為一個重量級的。它不支持高并發(fā)的服務(wù)器。在Apache上運(yùn)行數(shù)以萬計的并發(fā)訪問,會導(dǎo)致服務(wù)器消耗大量內(nèi)存。操作系統(tǒng)對其進(jìn)行進(jìn)程或線程間的切換也消耗了大量的CPU資源,導(dǎo)致HTTP請求的平均響應(yīng)速度降低。所以這些都決定了Apache不可能成為高性能WEB服務(wù)器,輕量級高并發(fā)服務(wù)器Nginx就應(yīng)運(yùn)而生了。
什么是Nginx俄羅斯的工程師Igor Sysoev,他在為Rambler Media工作期間,使用C語言開發(fā)了Nginx。Nginx作為WEB服務(wù)器一直為Rambler Media提供出色而又穩(wěn)定的服務(wù)。然后呢,Igor Sysoev將Nginx代碼開源,并且賦予自由軟件許可證。
由于:
Nginx是一款自由的、開源的、高性能的HTTP服務(wù)器和反向代理服務(wù)器(這是個開源的時代啊~)
Nginx是一個跨平臺服務(wù)器,可以運(yùn)行在Linux,Windows,FreeBSD,Solaris, AIX,Mac OS等操作系統(tǒng)上。
可以作為反向代理進(jìn)行負(fù)載均衡的實(shí)現(xiàn),帶來的極大的穩(wěn)定性。
Nginx這樣做的目的主要是將數(shù)據(jù)的承載量分?jǐn)偟蕉鄠€服務(wù)器上進(jìn)行執(zhí)行,這只是在服務(wù)基礎(chǔ)設(shè)施上提高性能的優(yōu)化手段之一。從下面圖就可以看出:
什么是反向代理?看了網(wǎng)上很多篇文章,下面這段話是我個人覺得介紹的最清楚的。
反向代理(Reverse Proxy)方式是指以代理服務(wù)器來接受Internet上的連接請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器;并將從服務(wù)器上得到的結(jié)果返回給Internet上請求連接的客戶端,此時代理服務(wù)器對外就表現(xiàn)為一個服務(wù)器。
所以反向代理服務(wù)器是引用在服務(wù)端。決定哪臺服務(wù)器提供服務(wù)。
那么我就模擬了一個基本的反向代理和負(fù)載均衡配置實(shí)現(xiàn),下面是我的操作步驟:
首先創(chuàng)建多個 tomcat 服務(wù)器,我這里創(chuàng)建了三個:
然后修改每個 tomcat 運(yùn)行在不同的端口號上,每個 server.xml配置文件需要修改三處端口:
分別在 8080,8081,8082 端口配置 8006,8081,8010 端口,分別進(jìn)行啟動測試,但是注意防火墻配置問題。測試結(jié)果如下:
接著配置 nginx 的配置文件,進(jìn)行反向代理:
最后不斷訪問剛配置的 test.tomcats.com 域名,發(fā)現(xiàn)三臺 tomcat 成功運(yùn)行的頁面都有出現(xiàn),比例大致 1:1:1:
恭喜你,配置成功了!
配置負(fù)載均衡其實(shí)很簡單,就是在剛剛配置的 nginx 文件中 的 upstream tomcats 中的 server 后面添加一個 weight, 即可代表權(quán)重。權(quán)重越高,分派請求的數(shù)量就越多。默認(rèn)權(quán)重是 1。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/40605.html
摘要:但是使用重定向,瀏覽器鏈接是會發(fā)生變化的。第二種反向代理有些場景需要內(nèi)容重定向到另外一個但是鏈接保持不變,這時候就可以利用反向代理配置來達(dá)到目的。這里只是針對反向代理配置的一個投機(jī)利用,如果不理解反向代理,一定請自行學(xué)習(xí)。 第一種:rewrite 按照常規(guī)理解,實(shí)現(xiàn)重定向就是要用rewrite來實(shí)現(xiàn),例如demo:showImg(https://segmentfault.com/img...
摘要:反向代理反向代理反向代理負(fù)載均衡鑒權(quán)限流等邏輯架構(gòu)在邏輯上分為入口層,模塊化的功能處理層,系統(tǒng)調(diào)用層。多個共同監(jiān)聽事件并處理,反向代理會把請求轉(zhuǎn)發(fā)給后端服務(wù)。 一.概述 本文將深入剖析nginx的架構(gòu)。 第一部分介紹nginx現(xiàn)有框架,用典型的4+1視圖闡述,包括邏輯架構(gòu),開發(fā)架構(gòu),運(yùn)行架構(gòu),物理架構(gòu),功能用例,nginx為單機(jī)服務(wù),不考慮物理架構(gòu)。其中功能用例概述nginx功能;邏輯...
摘要:反向代理反向代理反向代理負(fù)載均衡鑒權(quán)限流等邏輯架構(gòu)在邏輯上分為入口層,模塊化的功能處理層,系統(tǒng)調(diào)用層。多個共同監(jiān)聽事件并處理,反向代理會把請求轉(zhuǎn)發(fā)給后端服務(wù)。 一.概述 本文將深入剖析nginx的架構(gòu)。 第一部分介紹nginx現(xiàn)有框架,用典型的4+1視圖闡述,包括邏輯架構(gòu),開發(fā)架構(gòu),運(yùn)行架構(gòu),物理架構(gòu),功能用例,nginx為單機(jī)服務(wù),不考慮物理架構(gòu)。其中功能用例概述nginx功能;邏輯...
閱讀 3330·2019-08-29 16:17
閱讀 1985·2019-08-29 15:31
閱讀 2655·2019-08-29 14:09
閱讀 2556·2019-08-26 13:52
閱讀 753·2019-08-26 12:21
閱讀 2149·2019-08-26 12:08
閱讀 1000·2019-08-23 17:08
閱讀 1934·2019-08-23 16:59