欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

千鋒扣丁學(xué)堂Linux培訓(xùn)之詳解Nginx反向代理與負(fù)載均衡

2019-05-31 15:29:26 4430瀏覽

今天千鋒扣丁學(xué)堂Linux培訓(xùn)老師給大家分享一篇關(guān)于Nginx反向代理與負(fù)載均衡,是面試加分項(xiàng)沒有之一,首先越來越多的程序員開始學(xué)習(xí)更多的IT語言,下面就直接來說一下主題吧,前端要了解一些運(yùn)維的Nginx用法,內(nèi)容不多,簡單看看就好,這兩個(gè)功能在工作當(dāng)中就夠用了,那么首先來看個(gè)問題,什么是反向代理與負(fù)載均衡。



什么是反向代理

當(dāng)我們有一個(gè)服務(wù)器集群,并且服務(wù)器集群中的每臺服務(wù)器的內(nèi)容一樣的時(shí)候,同樣我們要直接從個(gè)人電腦訪問到服務(wù)器集群服務(wù)器的時(shí)候無法訪問,必須通過第三方服務(wù)器才能訪問集群。

這個(gè)時(shí)候,我們通過第三方服務(wù)器訪問服務(wù)器集群的內(nèi)容,但是我們并不知道是哪一臺服務(wù)器提供的內(nèi)容,此種代理方式稱為反向代理。

什么是負(fù)載均衡

公司會建立很多的服務(wù)器,這些服務(wù)器組成了服務(wù)器集群,然后,當(dāng)用戶訪問網(wǎng)站的時(shí)候,先訪問一個(gè)中間服務(wù)器,再讓這個(gè)中間服務(wù)器在服務(wù)器集群中選擇一個(gè)壓力較小的服務(wù)器,然后將該訪問請求引入選擇的服務(wù)器。

所以,用戶每次訪問,都會保證服務(wù)器集群中的每個(gè)服務(wù)器壓力趨于平衡,分擔(dān)了服務(wù)器壓力,避免了服務(wù)器崩潰的情況。

一句話:nginx會給你分配服務(wù)器壓力小的去訪問。

Nginx反向代理與負(fù)載均衡的實(shí)現(xiàn)

用戶訪問網(wǎng)站的時(shí)候首先會訪問nginx服務(wù)器,然后nginx服務(wù)器再從服務(wù)器集群中選擇壓力較小的服務(wù)器,將該訪問請求引向該服務(wù)器。

nginx配置

下面修改配置方面我就從mac系統(tǒng)下來進(jìn)行簡單的演示,如何安裝的話也暫以mac為主了,windows系統(tǒng)直接去Nginx官網(wǎng)下載安裝即可

安裝nginx 
    1-進(jìn)到homebrew官網(wǎng),然后復(fù)制命令,預(yù)安裝需要的東西 
    2-brew install nginx    安裝nginx 
    3-nginx -v  顯示版本號 
進(jìn)入nginx 
    cd /usr/local/etc/nginx 

下圖為進(jìn)入nginx文件夾下的文件內(nèi)容



當(dāng)進(jìn)到這個(gè)目錄下,我們就可以操作nginx了,接下來就列舉一些非常非常有用的命令,多敲幾遍,一定要記住

nginx常用命令

啟動nginx

nginx

當(dāng)你敲完nginx這5個(gè)鍵的時(shí)候,并沒有任何反應(yīng),此時(shí)你只需訪問localhost:8080(默認(rèn))即可



關(guān)閉nginx

如果出現(xiàn)下圖情況,不要驚慌,是因?yàn)橹皀ginx被啟動過了

只需nginx-sstop,停止nginx服務(wù)

然后再次啟動nginx即可



重啟nginx

nginx-sreload

每次修改完.conf文件就需要重啟nginx

檢查配置

檢查修改的nginx.conf配置是否正確

nginx-t

如果出現(xiàn)下面ok和successfull就代表正確了,其他的都不對

nginx:the configuration file/usr/local/etc/nginx/nginx.conf syntaxisok 
nginx:configuration file/usr/local/etc/nginx/nginx.conf testissuccessful 

對于我們前端來說正常工作當(dāng)中,倒是不需要過多的修改nginx的。我們之所以修改nginx配置,是為了做一些反向代理罷了。

proxy_pass

nginx反向代理主要通過proxy_pass來配置,將你項(xiàng)目的開發(fā)機(jī)地址填寫到proxy_pass后面,正常的格式為proxy_passURL即可。

server { 
    listen 80; 
    location / { 
        proxy_pass http://10.10.10.10:20186; 
    } 
} 

Upstream模塊實(shí)現(xiàn)負(fù)載均衡

ip_hash指令

server指令

upstream指令及相關(guān)變量

上面寫的三個(gè)指令,我們直接通過代碼來一一分析

// 修改nginx.conf 
worker_processes 1; 
events { 
    worker_connections 1024; 
} 
http { 
    upstream firstdemo { 
        server 39.106.145.33; 
        server 47.93.6.93; 
    } 
    server { 
        listen 8080; 
        location / { 
            proxy_pass http://firstdemo; 
        } 
    } 
} 

上面修改的nginx.conf就是上圖中花圈的那個(gè)文件,nginx配置的主要修改就在這里?;睘楹?,把原本nginx.conf里的內(nèi)容直接替換為上面的不到20行的代碼了。

既然不到20行,那就把里面對應(yīng)的內(nèi)容統(tǒng)統(tǒng)解釋一下吧,有個(gè)了解就好。

worker_processes

worker_connections

upstream模塊

負(fù)載均衡就靠它

語法格式:upstreamname{}

里面寫的兩個(gè)server分別對應(yīng)著不同的服務(wù)器

server模塊

實(shí)現(xiàn)反向代理

listen監(jiān)督端口號

location/{}訪問根路徑

proxy_passhttp://firstdemo,代理到firstdemo里兩個(gè)服務(wù)器上

上面修改了nginx.conf之后,別忘了最重要的一步重啟nginx

那么再次訪問localhost:8080,會看到如下圖頁面



還有另一個(gè)頁面



每次刷新都會訪問不同的服務(wù)器,這樣就做到了負(fù)載均衡處理

不過,更應(yīng)該做到的是當(dāng)用戶第一次訪問到其中一臺服務(wù)器后,下次再訪問的時(shí)候就直接訪問該臺服務(wù)器就好了,不用總變化了。那么就發(fā)揮了ip_hash的威力了。

// 省略... 
    upstream firstdemo { 
        ip_hash; 
        server 39.106.145.33; 
        server 47.93.6.93; 
    } 

ip_hash它的作用是如果第一次訪問該服務(wù)器后就記錄,之后再訪問都是該服務(wù)器了,這樣比如第一次訪問是33服務(wù)器,那之后再訪問也會分配為33服務(wù)器訪問了。

工作中的簡單使用

在公司開發(fā)項(xiàng)目的時(shí)候,遇到設(shè)計(jì),產(chǎn)品走查環(huán)節(jié)的時(shí)候,不能每次都讓他們?nèi)ヅ湟粋€(gè)host,畢竟這樣不友好,走查起來有麻煩。所以更應(yīng)該給他們直觀的感受,既給一個(gè)訪問地址就可以看到樣子

下面給大家看一下,我正常在公司時(shí)nginx做的反向代理配置,和咱們上面的如出一轍,只是加了一個(gè)server_name,用指定的域名去訪問即可。

server { 
    listen       80; 
    server_name  chd.news.so.m.qss.test.so.com ; 
    auth_basic off; 
    location / { 
        proxy_pass    http://10.10.10.10:20186; 
        proxy_set_header Host $host; 
        proxy_redirect off; 
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
        proxy_connect_timeout 60; 
        proxy_read_timeout 600; 
        proxy_send_timeout 600; 
    } 
} 

每次修改完nginx配置后不要忘記重啟nginx才能生效,這樣只需要訪問chd.news.so.m.qss.test.so.com這個(gè)地址就可以查看我的開發(fā)環(huán)境,進(jìn)行走查了。

以上就是關(guān)于千鋒扣丁學(xué)堂Linux培訓(xùn)之詳解Nginx反向代理與負(fù)載均衡的全部內(nèi)容,想要學(xué)好Linux開發(fā)小編給大家推薦口碑良好的扣丁學(xué)堂,扣丁學(xué)堂有專業(yè)老師制定的Linux學(xué)習(xí)路線圖輔助學(xué)員學(xué)習(xí),此外還有與時(shí)俱進(jìn)的Linux課程體系和Linux在線視頻供大家學(xué)習(xí),想要學(xué)好Linux開發(fā)技術(shù)的小伙伴快快行動吧??鄱W(xué)堂Linux技術(shù)交流群:422345477。


                          【掃碼進(jìn)入HTML5VIP免費(fèi)公開課】  


     【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】        【掃碼進(jìn)入HTML5前端開發(fā)VIP免費(fèi)公開課】



查看更多關(guān)于“Linux培訓(xùn)資訊”的相關(guān)文章>>

標(biāo)簽: Linux培訓(xùn) Linux視頻教程 紅帽Linux視頻 Linux學(xué)習(xí)視頻 Linux入門視頻

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費(fèi)咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部