真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

nginx動(dòng)態(tài)代理及負(fù)載均衡的學(xué)習(xí)之旅-創(chuàng)新互聯(lián)

成都創(chuàng)新互聯(lián)堅(jiān)信:善待客戶,將會(huì)成為終身客戶。我們能堅(jiān)持多年,是因?yàn)槲覀円恢笨芍档眯刨嚒N覀儚牟缓鲇瞥踉L客戶,我們用心做好本職工作,不忘初心,方得始終。10多年網(wǎng)站建設(shè)經(jīng)驗(yàn)成都創(chuàng)新互聯(lián)是成都老牌網(wǎng)站營(yíng)銷服務(wù)商,為您提供成都網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)站設(shè)計(jì)、成都h5網(wǎng)站建設(shè)、網(wǎng)站制作、高端網(wǎng)站設(shè)計(jì)、重慶小程序開發(fā)服務(wù),給眾多知名企業(yè)提供過好品質(zhì)的建站服務(wù)。

下文給大家?guī)韓ginx動(dòng)態(tài)代理及負(fù)載均衡的學(xué)習(xí)之旅,希望能夠給大家在實(shí)際運(yùn)用中帶來一定的幫助,負(fù)載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書籍,今天我們就用創(chuàng)新互聯(lián)建站在行業(yè)內(nèi)累計(jì)的經(jīng)驗(yàn)來做一個(gè)解答。

1.正向代理與反向代理的區(qū)別?

正向代理:是一個(gè)位于客戶端和原始云服務(wù)器(origin server)之間的服務(wù)器,為了從原始服務(wù)器取得內(nèi)容,客戶端向代理發(fā)送一個(gè)請(qǐng)求并指定目標(biāo)(原始服務(wù)器),然后代理向原始服務(wù)器轉(zhuǎn)交請(qǐng)求并將獲得的內(nèi)容返回給客戶端。正向代理的典型用途為在防火墻內(nèi)的局域網(wǎng)客戶端提供訪問Internet的途徑.

nginx動(dòng)態(tài)代理及負(fù)載均衡的學(xué)習(xí)之旅

反向代理:反向代理是代理服務(wù)器的一種,服務(wù)器根據(jù)客戶端的請(qǐng)求,從其關(guān)聯(lián)的一組或多組后端服務(wù)器(如Web服務(wù)器)上獲取資源,然后再將這些資源返回給客戶端,客戶端只會(huì)得知反向代理的IP地址或者域名,而不知道在代理服務(wù)器后面的服務(wù)器簇的存在.

nginx動(dòng)態(tài)代理及負(fù)載均衡的學(xué)習(xí)之旅

2.nginx概述

Nginx是一款優(yōu)秀的反向代理服務(wù)器程序,能夠?yàn)槿舾膳_(tái)服務(wù)器提供反向代理服務(wù),一方面為客戶端提供的統(tǒng)一的訪問地址,另一方面為后臺(tái)多個(gè)服務(wù)器提供了負(fù)載均衡的能力。Nginx是目前最主流的反向代理服務(wù)器,能夠提供可靠的負(fù)載均衡、動(dòng)靜分離的能力。
        a. 下載地址
            http://nginx.org/en/download.html
        b. 安裝
            將下載好的安裝包解壓到一個(gè)沒有中文沒有空格的目錄下即可。
        c. windows下常用命令
            驗(yàn)證配置是否正確: nginx -t
            查看Nginx的版本號(hào):nginx -V
            啟動(dòng)Nginx:start nginx
            快速停止或關(guān)閉Nginx:nginx -s stop
            正常停止或關(guān)閉Nginx:nginx -s quit
            配置文件修改重裝載命令:nginx -s reload
        d. 配置
            nginx的工作是基于[conf/nginx.conf]配置文件來進(jìn)行的。
            nginx.conf的配置結(jié)構(gòu):
                http{ #代表處理http請(qǐng)求
                         #配置一個(gè)虛擬服務(wù)器
                        server{
                                #此虛擬服務(wù)器接收對(duì)80端口的訪問
                                listen 80; 
                                #此虛擬服務(wù)器接收對(duì)localhost主機(jī)名的訪問
                                server_name localhost; 
                                #當(dāng)訪問/user資源時(shí)由此配置處理
                                location /user{
                                        規(guī)則
                                }
                                #當(dāng)訪問/order資源時(shí)由此配置處理
                                location /order{
                                        規(guī)則
                                }
                                ...
                        }

                        #其他Server配置
                        server ...
                        ...
                }

3.nginx案例實(shí)現(xiàn)請(qǐng)求轉(zhuǎn)發(fā)

通過Nginx實(shí)現(xiàn)請(qǐng)求轉(zhuǎn)發(fā),通過配置nginx.conf轉(zhuǎn)發(fā)策略,使得本來訪問tomcate:8080端口轉(zhuǎn)交由訪問nginx:8088端口
        當(dāng)客戶端訪問http://www.aaa.com時(shí),由nginx轉(zhuǎn)發(fā)給http://127.0.0.1:8080端口進(jìn)行處理
        配置hosts文件
            127.0.0.1 www.aaa.com
        在nginx.conf中配置
            http{
                    #為nginx配置一個(gè)虛擬服務(wù)器,
                    server {
                            #監(jiān)聽本機(jī)8088端口
                            listen 8088;
                            #接收對(duì)www.aaa.com主機(jī)名的訪問
                            server_name www.aaa.com;
                            #對(duì)/即任意路徑的訪問進(jìn)行處理
                            location / {
                                    #轉(zhuǎn)發(fā)到指定地址,tomcate訪問地址
                                    proxy_pass http://127.0.0.1:8080;
                            } 
                            #可以配置多個(gè)location
                            ...
                    }
                    #可以配置多個(gè)server
                    ...
            }
        啟動(dòng) tomcat
            startup.bat
        啟動(dòng)nginx
            start nginx

nginx動(dòng)態(tài)代理及負(fù)載均衡的學(xué)習(xí)之旅

4. location路徑配置和匹配規(guī)則

       a. location路徑的寫法
        在配置虛擬服務(wù)器時(shí),可以配置多個(gè)location,指定不同路徑采用不同的處理方案,location支持多種寫法,規(guī)則如下:
        1.  =   =/aaa/1.jpg 路徑嚴(yán)格匹配,路徑必須一模一樣才會(huì)匹配到
        2.  ^~  ^~/aaa  只要是指定路徑開頭的路徑都可以匹配
        3.  ~   ~.png$  區(qū)分大小寫按正則匹配路徑
        4.  ~*  ~*.png$ 不區(qū)分大小寫按正則匹配路徑
        5. /    /   通用匹配,所有路徑都可以匹配到
        b. location路徑配置的優(yōu)先級(jí)
        由于location的路徑配置非常靈活,所有有可能一個(gè)路徑被多個(gè)location所匹配,此時(shí)按照如下規(guī)則判斷匹配優(yōu)先級(jí):
            ? 首先匹配 =
            ? 其次匹配 ^~
            ? 其次是按文件中順序的正則匹配
            ? 最后是交給 / 通用匹配
            ? 當(dāng)有匹配成功時(shí)候,停止匹配,按當(dāng)前匹配規(guī)則處理請(qǐng)求
            ----總的規(guī)律是,精度越高優(yōu)先級(jí)越高
        案例:
        location = / {
                     #規(guī)則A
                            }
        location = /login {
                    #規(guī)則B
                            }
        location ^~ /static/ {
                     #規(guī)則C
                            }
        location ~ \.(gif|jpg|png|js|css)$ {
                    #規(guī)則D
                            }
        location ~* \.png$ {
                             #規(guī)則E
                        }
        location / {
                             #規(guī)則F
                        }
     訪問根目錄 /, 比如 http://localhost/ 將匹配規(guī)則 A
     訪問 http://localhost/login 將匹配規(guī)則 B
     http://localhost/register 則匹配規(guī)則 F
     訪問 http://localhost/static/a.html 將匹配規(guī)則 C
     訪問 http://localhost/a.gif, http://localhost/b.jpg 將匹配規(guī)則 D和規(guī)則 E,但是規(guī)則 D 順序優(yōu)先,規(guī)則 E不起作用
     http://localhost/static/c.png則優(yōu)先匹配到規(guī)則 C
     訪問 http://localhost/a.PNG 則匹配規(guī)則 E,而不會(huì)匹配規(guī)則 D,因?yàn)橐?guī)則 E 不區(qū)分大小寫
     訪問 http://localhost/category/id/1111 則最終匹配到規(guī)則 F

5. Ngnix的負(fù)載均衡策略

   nginx在分發(fā)資源到后端服務(wù)器時(shí),如何分配請(qǐng)求是可以配置的,稱之為nginx的負(fù)載均衡策略。
        輪詢  默認(rèn)不配置就是輪詢   連接請(qǐng)求輪流分配給后端服務(wù)器
        http{ 
                            upstream sampleapp { 
                            server <>; 
                            server <>; 
                            } 
                            .... 
                            server{ 
                                    listen 80; 
                                    ... 
                                    location / { 
                                            proxy_pass http://sampleapp; 
                            }  
                    } 
        ip哈希    ip_hash;    abs(客戶端ip.hash())%服務(wù)器數(shù)量,根據(jù)余數(shù)決定連接請(qǐng)求去往哪個(gè)服務(wù)器
        http{ 
                            upstream sampleapp { 
                            ip_hash; 
                            server <>; 
                            server <>; 
                            } 
                            .... 
                            server{ 
                                    listen 80; 
                                    ... 
                                    location / { 
                                    proxy_pass http://sampleapp; 
                            }  
                    } 
        最少連接    least_conn; 將連接請(qǐng)求分配給目前連接數(shù)最少的服務(wù)器
        http{ 
                            upstream sampleapp { 
                            least_conn; 
                            server <>; 
                            server <>; 
                            } 
                            .... 
                            server{ 
                                    listen 80; 
                                    ... 
                                    location / { 
                                    proxy_pass http://sampleapp; 
                            }  
                    } 
        基于權(quán)重    直接在地址后配置weight=x    根據(jù)權(quán)重進(jìn)行分配,權(quán)重值越大,被分配的連接越多。可以直接配置為down,則不再分配連接。    
        http{ 
                            upstream sampleapp { 
                                    server <> weight=2; 
                                    server <> weight=5; 
                                    server <> down;
                            } 
                            .... 
                            server{ 
                                    listen 80; 
                                    ... 
                                    location / { 
                                    proxy_pass http://sampleapp; 
                            } 
                    }

 7. Nginx的動(dòng)靜分離實(shí)現(xiàn)

       a. 動(dòng)靜分離原理
        動(dòng) --> 動(dòng)態(tài)資源  --> servlet jsp --> 程序 
        靜 --> 靜態(tài)資源 --> jpg mp3 mp4 html css js --> 文件 
        tomcat能夠處理動(dòng)態(tài)和靜態(tài)資源,但本質(zhì)上是為處理動(dòng)態(tài)資源而設(shè)計(jì)的服務(wù)器,過多靜態(tài)資源交由tomcat管理會(huì)降低tomcat處理動(dòng)態(tài)資源的能力,得不償失。

        nginx本身無法處理動(dòng)態(tài)資源,但可以處理靜態(tài)資源,而且性能優(yōu)良。

        因此可以將靜態(tài)資源和動(dòng)態(tài)資源拆分,將靜態(tài)資源交由ngin處理,動(dòng)態(tài)資源仍由tomcat處理,從而解放了tomcat對(duì)動(dòng)態(tài)資源的處理能力,整體上實(shí)現(xiàn)動(dòng)靜分離,提升了效率。
        b. 動(dòng)靜分離實(shí)現(xiàn)
        配置方式:
            server {
                    listen 8088;
                    server_name www.aaa.com;
                    location / {
                            #root可以指向nginx服務(wù)器中的本地磁盤地址
                            #靜態(tài)文件就放置在這個(gè)磁盤地址中
                            #之后對(duì)server中資源的訪問會(huì)被轉(zhuǎn)換到對(duì)本地磁盤資源的訪問
                                                #www.aaa.com/aaa/bbb/1.html-->d://html/aaa/bbb/1.html
                            root D://html;
                            #默認(rèn)訪問的首頁配置
                            index index.html;
                    }

           }

看了以上關(guān)于nginx動(dòng)態(tài)代理及負(fù)載均衡的學(xué)習(xí)之旅,如果大家還有什么地方需要了解的可以在創(chuàng)新互聯(lián)建站行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術(shù)工程師解答的,創(chuàng)新互聯(lián)建站技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗(yàn)了。


創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。


網(wǎng)頁題目:nginx動(dòng)態(tài)代理及負(fù)載均衡的學(xué)習(xí)之旅-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://weahome.cn/article/djggec.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部