日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx负载均衡请求转发

發(fā)布時間:2024/1/1 Nginx 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx负载均衡请求转发 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

一、Nginx相關(guān)概念

1.1、Nginx概述

1.2、正向代理

1.3、反向代理

1.4、負載均衡

1.5、動靜分離

二、Linux中Nginx安裝

2.1、安裝Nginx

2.2、防火墻設(shè)置

2.3、添加端口

2.4、重啟防火墻

三、Nginx常用命令

3.1、Linux中常用命令

3.2、windows中常用命令

四、Nginx請求轉(zhuǎn)發(fā)配置

4.1、如果你的后臺是多個服務(wù),有課程管理服務(wù)、文件上傳服務(wù),前端請求地址更換為nginx的地址

4.2、打開nginx配置文件nginx.cong,添加如下配置

4.3、總結(jié):

五、負載均衡

5.1、負載均衡概念

1、輪詢(默認)

2、weight

3、ip hash

4、fair(第三方)

5.2、nginx.config配置開始

1、打開nginx.conf配置文件、添加集群配置,這是兩臺服務(wù)器地址

2、監(jiān)聽端口8888,前端請求的地址為nginx的地址和端口:127.0.0.1:8888

3、總結(jié):

六、Nginx配置文件

6.1、全局塊

6.2、events塊

6.3、http塊?

server塊

location 塊

七、Nginx原理

7.1、Nginx底層的流程

7.2、當master接收到重新加載的信號會怎么處理(./nginx -s reload)

7.3、worker進程是如何處理用戶的請求呢?

八、問題

8.1、前端上傳文件出現(xiàn)問題 413 Request Entity Too Large


一、Nginx相關(guān)概念

1.1、Nginx概述


Nginx 是一個高性能的HTTP和反向代理web服務(wù)器,特點是占有內(nèi)存少,并發(fā)能力強,事實上nginx的并發(fā)能力確實在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好。

Nginx專為性能優(yōu)化而開發(fā),性能是其最重要的考量,實現(xiàn)上非常注重效率﹐能經(jīng)受高負載的考驗,有報告表明能支持高達50,000個并發(fā)連接數(shù)。

1.2、正向代理

正向代理:如果把局域網(wǎng)外的 Internet想象成一個巨大的資源庫,則局域網(wǎng)中的客戶端要訪問Internet,則需要通過代理服務(wù)器來訪問,這種代理服務(wù)就稱為正向代理。

在客戶端(瀏覽器)配置代理服務(wù)器,通過代理服務(wù)器進行互聯(lián)網(wǎng)訪問。

1.3、反向代理

反向代理,其實客戶端對代理是無感知的,因為客戶端不需要任何配置就可以訪問,我們只需要將請求發(fā)送到反向代理服務(wù)器,由反向代理服務(wù)器去選擇目標服務(wù)器獲取數(shù)據(jù)后,在返回給客戶端,此時反向代理服務(wù)器和目標服務(wù)器對外就是一個服務(wù)器,暴露的是代理服務(wù)器地址,隱藏了真實服務(wù)器IP地址。

1.4、負載均衡

單個服務(wù)器解決不了,我們增加服務(wù)器的數(shù)量,然后將請求分發(fā)到各個服務(wù)器上,將原先請求集中到單個服務(wù)器上的情況改為將請求分發(fā)到多個服務(wù)器上,將負載分發(fā)到不同的服務(wù)器,也就是我們所說的負載均衡。

1.5、動靜分離

為了加快網(wǎng)站的解析速度,可以把動態(tài)頁面和靜態(tài)頁面由不同的服務(wù)器來解析,加快解析速度。降低原來單個服務(wù)器的壓力。

二、Linux中Nginx安裝

2.1、安裝Nginx

nginx有兩種安裝方式的,我們選擇一種安裝方式

1、解壓縮nginx-1.18.0.tar.gz

? ? ? 解壓命令:tar –zxvf nginx-1.18.0.tar.gz

2、進入解壓縮目錄,執(zhí)行./configure

3make && make install

安裝完成之后在/usr/local 下面會生成nginx文件夾

4、安裝完畢啟動nginx

? ? 進入/usr/local/nginx/sbin? ? ? ?輸入? ? ? ./nginx? ?便可啟動

2.2、防火墻設(shè)置

啟動了nginx,瀏覽器輸入ip:80沒訪問到

查看防火墻中開放的端口,使用命令:firewall-cmd --list-all

nginx監(jiān)聽端口80

2.3、添加端口

? ? 命令:firewall-cmd --zone=public --add-port=80/tcp --permanent

2.4、重啟防火墻

? ?命令:firewall-cmd --reload

再次訪問192.168.0.104,成功訪問,因為端口是80,可以不寫。

?

三、Nginx常用命令

3.1、Linux中常用命令

使用Nginx操作命令前提是必須進入nginx的目錄 /usr/local/nginx/sbin

查看ngixn版本號:./nginx -v

啟動nginx? ?????./nginx

關(guān)閉nginx? ?????./nginx -s stop

安全退出??? ????./nginx -s quit

重新加載nginx?? ./nginx -s reload

查看啟動進程

ps –ef|grep nginx?

ps -aux|grep nginx

3.2、windows中常用命令

打開nginx路徑輸入cmd,所有的操作都在里面操作

1、啟動nginx:nginx.exe

2、停止nginx:nginx.exe -s stop 或者 ? nginx.exe -s quit?

注:stop是快速停止nginx,可能并不保存相關(guān)信息;quit是完整有序的停止nginx,并保存相關(guān)信息。

?3、重啟nginx:nginx.exe -s reload

?4、查看Nginx版本:nginx -v

四、Nginx請求轉(zhuǎn)發(fā)配置

4.1、如果你的后臺是多個服務(wù),有課程管理服務(wù)、文件上傳服務(wù),前端請求地址更換為nginx的地址

4.2、打開nginx配置文件nginx.cong,添加如下配置

4.3、總結(jié):

配置了兩個location,一個是eduservice 一個是eduoss ,這兩個是后端接口訪問地址,如果前端請求的路徑包含eduservice,他就會把請求轉(zhuǎn)發(fā)到?http://localhost:8001?服務(wù)上

如果前端請求的路徑中包含eduoss,會把請求轉(zhuǎn)發(fā)到?http://localhost:8002服務(wù)上

五、負載均衡

5.1、負載均衡概念

隨著互聯(lián)網(wǎng)信息的爆炸性增長,負載均衡(load balance)已經(jīng)不再是一個很陌生的話題,顧名思義,負載均衡即是將負載分攤到不同的服務(wù)單元,既保證服務(wù)的可用性,又保證響應(yīng)足夠快,給用戶很好的體驗。快速增長的訪問量和數(shù)據(jù)流量催生了各式各樣的負載均衡產(chǎn)品,很多專業(yè)的負載均衡硬件提供了很好的功能,但卻價格不菲,這使得負載均衡軟件大受歡迎,nginx.就是其中的一個,在linux.下有Nginx、LVS、Haproxy.等等服務(wù)可以提供負載均衡服務(wù),而且 Nginx,提供了幾種分配方式(策略):

1、輪詢(默認)

每個請求按時間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器down掉,能自動剔除。

2、weight

weight:代表權(quán),重默認為1,權(quán)重越高被分配的客戶端越多

3、ip hash

每個請求按訪問ip的hash結(jié)果分配,這樣每個訪客固定訪問一個后端服務(wù)器,可以解決session的問題。例如:

4、fair(第三方)

按后端服務(wù)器的響應(yīng)時間來分配請求,響應(yīng)時間短的優(yōu)先分配。

5.2、nginx.config配置開始

1、打開nginx.conf配置文件、添加集群配置,這是兩臺服務(wù)器地址

upstream card-rest-server{

? ? ? ? server 12.33.22.147:8080;

? ? ? ? ?server 12.33.22.144:8080;

keepalive 200; }

2、監(jiān)聽端口8888,前端請求的地址為nginx的地址和端口:127.0.0.1:8888

server {

listen 8888;

? ? ? ? server_name 127.0.0.1;

? ? ? ? charset utf-8;

? ? ? ? location ^~/dynamic/ {

? ? ? ? ? ? ? ?proxy_pass http://card-rest-server;

? ? ? ?}

? ? ? error_page 500 502 503 504 /50x.html;

? ? ? location = /50x.html {

? ? ? ? ? ? root html;

? ? ? ?}

}

3、總結(jié):

六、Nginx配置文件

nginx配置文件有三部分組成

6.1、全局塊

從配置文件開始到 events 塊之間的內(nèi)容,主要會設(shè)置一些影響nginx 服務(wù)器整體運行的配置指令,主要包括配置運行Nginx服務(wù)器的用戶(組)、允許生成的worker process 數(shù),進程PID存放路徑、日志存放路徑和類型以及配置文件的引入等。

worker_processes? 1;

這是Nginx服務(wù)器并發(fā)處理服務(wù)的關(guān)鍵配置,worker_processes值越大,可以支持的并發(fā)處理量也越多,但是會受到硬件、軟件等設(shè)備的制約。

6.2、events塊

events 模塊涉及的指令主要影響Nginx服務(wù)器與用戶的網(wǎng)絡(luò)連接,常用的設(shè)置包括是否開啟對多 work process下的網(wǎng)絡(luò)連接進行序列化,是否允許同時接收多個網(wǎng)絡(luò)連接,選取哪種事件驅(qū)動模型來處理連接請求,每個 wordprocess可以同時支持的最大連接數(shù)等。

上述例子就表示每個work process支持的最大連接數(shù)為1024.

這部分的配置對Nginx的性能影響較大,在實際中應(yīng)該靈活配置。

6.3、http塊?

這算是Nginx服務(wù)器配置中最頻繁的部分,代理、緩存和日志定義等絕大多數(shù)功能和第三方模塊的配置都在這里

server塊

http塊可以有多個server塊,每個server 塊可以同時包含多個 locaton塊。

location 塊

這塊的主要作用是基于Nginx服務(wù)器接收到的請求字符串(例如server_name/uri-string ),對虛擬主機名稱(也可以是IP別名)之外的字符串(例如前面的/uri-string)進行匹配,對特定的請求進行處理。地址定向、數(shù)據(jù)緩存和應(yīng)答控制等功能,還有許多第三方模塊的配置也在這里進行。

總體配置如:

七、Nginx原理

7.1、Nginx底層的流程

? ? ? 在nginx啟動后,會有一個master進程和多個worker進程,master進程主要用來管理worker進程,包括:接受信號,將信號分發(fā)給worker進程,監(jiān)聽worker進程工作狀態(tài),當worker進程退出時(非正常),啟動新的worker進程。基本的網(wǎng)絡(luò)事件會交給worker進程處理。多個worker進程之間是對等的,他們同等競爭來自客戶端的請求,各進程互相之間是獨立的?。一個請求,只可能在一個worker進程中處理,一個worker進程,不可能處理其它進程的請求。?worker進程的個數(shù)是可以設(shè)置的,一般我們會設(shè)置與機器cpu核數(shù)一致,這里面的原因與nginx的進程模型以及事件處理模型是分不開的?。

7.2、當master接收到重新加載的信號會怎么處理(./nginx -s reload)

? ? ? master會重新加載配置文件,然后啟動新的進程,使用的新的worker進程來接受請求,并告訴老的worker進程他們可以退休了,老的worker進程將不會接受新的,老的worker進程處理完手中正在處理的請求就會退出。

7.3、worker進程是如何處理用戶的請求呢?

? ? ? 首先master會根據(jù)配置文件生成一個監(jiān)聽相應(yīng)端口的socket,然后再faster出多個worker進程,這樣每個worker就可以接受從socket過來的消息(其實這個時候應(yīng)該是每一個worker都有一個socket,只是這些socket監(jiān)聽的地址是一樣的)。當一個連接過來的時候,每一個worker都能接收到通知,但是只有一個worker能和這個連接建立關(guān)系,其他的worker都會連接失敗,這就是所謂的驚群現(xiàn)在,為了解決這個問題,nginx提供一個共享鎖accept_mutex,有了這個共享鎖后,就會只有一個worker去接收這個連接。當一個worker進程在accept這個連接之后,就開始讀取請求,解析請求,處理請求,產(chǎn)生數(shù)據(jù)后,再返回給客戶端,最后才斷開連接,這樣一個完整的請求就是這樣的了。

八、問題

8.1、前端上傳文件出現(xiàn)問題 413 Request Entity Too Large

如果你前端請求的是nginx代理地址,Nginx默認的request body為1M

解決方案

打開nginx的配置文件nginx.conf,加入 client_max_body_size 100m,然后重啟nginx

總結(jié)

以上是生活随笔為你收集整理的Nginx负载均衡请求转发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人高清在线 | 韩国一级片在线观看 | av免费观看网址 | 精品动漫3d一区二区三区免费版 | 国产黄色网 | 日本网站黄色 | 又黄又爽的视频在线观看 | 91九色porny视频| 亚洲最大看欧美片网站 | 国产成人a v | 国产女人18水真多毛片18精品 | 欧美日韩丝袜 | 色网在线观看 | 国产区在线观看视频 | 成人福利在线视频 | 91免费看片网站 | 国产二区精品视频 | 欧美亚洲精品天堂 | 青青青在线免费 | 欧洲-级毛片内射 | 欧美乱妇在线观看 | 欧美三级免费看 | 欧美色性视频 | 日韩色黄大片 | 丰满大乳少妇在线观看网站 | 久久久久久麻豆 | 在线精品免费视频 | 中文字幕日本一区二区 | 在线天堂资源 | 成人a毛片 | 中文有码在线播放 | 欧美色图小说 | 亚洲黄色免费 | 精品亚洲乱码一区二区 | 美女网站视频在线观看 | 软萌小仙自慰喷白浆 | 777精品久无码人妻蜜桃 | 欧美一区二区三区免费视频 | 男生草女生的视频 | 精品无码久久久久成人漫画 | 男女免费毛片 | 无码国产69精品久久久久网站 | 国产精品久久麻豆 | 国产欧美一区二区三区在线看蜜臂 | 深夜成人福利视频 | 亚洲大尺度在线观看 | 欧美亚洲另类在线 | 久久av一区 | 毛片网站大全 | 精品少妇久久 | 欧美大片视频在线观看 | 久久综合亚洲 | 久久久国| 国产精品无码乱伦 | 中国少妇无码专区 | 日韩黄色一级视频 | 日韩在线视屏 | 熟妇人妻系列aⅴ无码专区友真希 | 狼性av| 久久久成人免费 | 午夜影视在线观看 | 成人漫画网站 | 五月婷婷,六月丁香 | 国产精品白嫩白嫩大学美女 | 一区二区三区欧美视频 | 人人爽久久涩噜噜噜网站 | 瑟瑟视频在线观看 | 久久成年网 | 亚洲区av | 青青欧美 | 性xxxx狂欢老少配o | 高潮毛片又色又爽免费 | 99re久久精品国产 | 亚洲美女中文字幕 | 五月婷婷爱爱 | 4438x全国最大成人 | 国产男女猛烈无遮挡免费视频 | 天天天天操 | 欧美youjizz | 久久精品123 | 国产欧美日韩二区 | 男女激情网站 | 成人一二三区 | 国产成人一区在线观看 | 欧美特黄一级 | 337p日本大胆噜噜噜鲁 | 一区二区 中文字幕 | 国产激情久久久久 | 98色 | 亚洲成人av免费观看 | 免费成人美女在线观看 | 女人裸体免费网站 | 亚洲精品天堂成人片av在线播放 | 亚洲av成人精品一区二区三区在线播放 | 超薄肉色丝袜一区二区 | 黄色录像二级片 | 欧美黑人做爰爽爽爽 | 久久久久国产视频 | av色先锋|