国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Nginx中的主要應(yīng)用場(chǎng)景解讀

瀏覽:4日期:2023-06-15 15:23:23
目錄
  • Nginx的主要應(yīng)用場(chǎng)景
    • 靜態(tài)網(wǎng)站部署
    • 負(fù)載均衡
  • Nginx的使用場(chǎng)景及示例
    • 1.靜態(tài)資源服務(wù)器
    • 2.反向代理
    • 3.負(fù)載均衡器
    • 4.緩存服務(wù)器
    • 5.反向代理服務(wù)器
    • 6.WebSocket服務(wù)器
  • 總結(jié)

    Nginx的主要應(yīng)用場(chǎng)景

    靜態(tài)網(wǎng)站部署

    nginx是一個(gè)http的web服務(wù)器,可以將服務(wù)器上的靜態(tài)文件(html、css、圖片)通過(guò)HTTP協(xié)議返回給瀏覽器客戶端。

    舉例:我們?cè)诜?wù)器上部署一個(gè)靜態(tài)資源index.html

    將index.html上傳至linux /opt/www/test

    修改nginx.conf 增加一個(gè)location,攔截/test的請(qǐng)求,root 對(duì)應(yīng)的/opt/www路徑代表根路徑,也就是/test前面的/斜杠

    location /test {    root   /opt/www;    index  index.html;}

    啟動(dòng)nginx或者重新加載nginx

    我們?cè)L問(wèn)下:http://192.168.253.130/test/

    負(fù)載均衡

    負(fù)載均衡可以分為硬件負(fù)載均衡和軟件負(fù)載均衡

    硬件負(fù)載均衡,比如F5、深信服、Array等,優(yōu)點(diǎn)是有廠商專業(yè)團(tuán)隊(duì)支持,性能穩(wěn)定;缺點(diǎn)是價(jià)格昂貴

    軟件負(fù)載均衡,比如Nginx、LVS、HAProxy等,優(yōu)點(diǎn)是免費(fèi)開(kāi)源,成本低廉

    輪詢法:將請(qǐng)求按順序輪流地分配到后端服務(wù)器上,它均衡地對(duì)待后端的每一臺(tái)服務(wù)器,而不關(guān)心服務(wù)器實(shí)際的連接數(shù)和當(dāng)前的系統(tǒng)負(fù)載。

    http {    upstream test{    ##后端實(shí)際服務(wù)器 nginx在輪詢?cè)L問(wèn)以下幾臺(tái)服務(wù)器server 10.100.30.1:8080;server 10.100.30.2:8080;server 10.100.30.3:8080;server 10.100.30.4:8080;    }    server {    ##前端攔截入口listen 80;server_name www.test.com;location / {     proxy_pass http://test;}    }}

    加權(quán)輪詢法:不同的后端服務(wù)器可能機(jī)器的配置和當(dāng)前系統(tǒng)的負(fù)載并不相同,因此它們的抗壓能力也不相同。

    給配置高、負(fù)載低的機(jī)器配置更高的權(quán)重,讓其處理更多的請(qǐng);而配置低、負(fù)載高的機(jī)器,給其分配較低的權(quán)重,降低其系統(tǒng)負(fù)載,加權(quán)輪詢能很好地處理這一問(wèn)題,并將請(qǐng)求順序且按照權(quán)重分配到后端。

    http {    upstream test{    ##后端實(shí)際服務(wù)器 nginx在輪詢?cè)L問(wèn)以下幾臺(tái)服務(wù)器server 10.100.30.1:8080 weight=1;server 10.100.30.2:8080 weight=3;server 10.100.30.3:8080 weight=1;server 10.100.30.4:8080 weight=1;    }    server {    ##前端攔截入口listen 80;server_name www.test.com;location / {     proxy_pass http://test;}    }}

    源地址哈希法:根據(jù)獲取客戶端的IP地址,通過(guò)哈希函數(shù)計(jì)算得到一個(gè)數(shù)值,用該數(shù)值對(duì)服務(wù)器列表的大小進(jìn)行取模運(yùn)算,得到的結(jié)果便是客服端要訪問(wèn)服務(wù)器的序號(hào)。

    采用源地址哈希法進(jìn)行負(fù)載均衡,同一IP地址的客戶端,當(dāng)后端服務(wù)器列表不變時(shí),它每次都會(huì)映射到同一臺(tái)后端服務(wù)器進(jìn)行訪問(wèn)。

    upstream test{ip_hash;server 10.100.30.1:8080 weight=1;server 10.100.30.2:8080 weight=3;server 10.100.30.3:8080 weight=1;server 10.100.30.4:8080 weight=1;    }

    最小連接數(shù)法:由于后端服務(wù)器的配置不盡相同,對(duì)于請(qǐng)求的處理有快有慢,最小連接數(shù)法根據(jù)后端服務(wù)器當(dāng)前的連接情況,動(dòng)態(tài)地選取其中當(dāng)前積壓連接數(shù)最少的一臺(tái)服務(wù)器來(lái)處理當(dāng)前的請(qǐng)求,盡可能地提高后端服務(wù)的利用效率,將負(fù)責(zé)合理地分流到每一臺(tái)服務(wù)器。

    upstream test{least_conn;server 10.100.30.1:8080;server 10.100.30.2:8080;server 10.100.30.3:8080;server 10.100.30.4:8080;    }

    down:表示停掉某臺(tái)服務(wù)

    upstream test{server 10.100.30.1:8080 down;server 10.100.30.2:8080;server 10.100.30.3:8080;server 10.100.30.4:8080;    }

    backup:指定備用服務(wù)器,正常情況下只要有其他服務(wù)器能正常訪問(wèn),備用服務(wù)器不會(huì)被訪問(wèn)到,只有其他服務(wù)器都掛掉的時(shí)候,才會(huì)使用備用服務(wù)器,所以采用這種方式一般用來(lái)實(shí)現(xiàn)熱部署,先把代碼更新到備用服務(wù)器上,然后停掉正常服務(wù)器,正常服務(wù)器部署完成后,備用服務(wù)器又處于等待狀態(tài),整個(gè)部署過(guò)程使用戶能夠感受不到停機(jī)。

    upstream test{server 10.100.30.1:8080 backup;server 10.100.30.2:8080 backup;server 10.100.30.3:8080;server 10.100.30.4:8080;    }
    • 靜態(tài)代理
    • 動(dòng)靜分離
    • 虛擬主機(jī)

    Nginx的使用場(chǎng)景及示例

    Nginx是一款高性能、高并發(fā)的HTTP服務(wù)器和反向代理服務(wù)器,可用于靜態(tài)資源服務(wù)器、負(fù)載均衡器、反向代理、緩存服務(wù)器、Web服務(wù)器等多種場(chǎng)景。

    下面列舉幾個(gè)使用場(chǎng)景和示例:

    1.靜態(tài)資源服務(wù)器

    在使用Nginx作為靜態(tài)資源服務(wù)器時(shí),Nginx會(huì)直接返回請(qǐng)求的文件,從而減輕Web服務(wù)器的負(fù)擔(dān)。這種場(chǎng)景通常用于提供靜態(tài)文件下載或者視頻等大文件的訪問(wèn)。

    下面是一個(gè)示例Nginx配置:

    server {? ? listen ? ? ? 80;? ? server_name ?example.com;? ? location / {? ? ? ? root ? /usr/share/nginx/html;? ? ? ? index ?index.html index.htm;? ? }? ? location /images/ {? ? ? ? alias /var/www/images/;? ? }? ? location /downloads/ {? ? ? ? alias /var/www/downloads/;? ? }}

    上述配置中,Nginx會(huì)將訪問(wèn)根目錄(/)的請(qǐng)求映射到/usr/share/nginx/html目錄下,如果請(qǐng)求的是/images/目錄下的文件,Nginx則會(huì)映射到/var/www/images/目錄下,如果請(qǐng)求的是/downloads/目錄下的文件,Nginx則會(huì)映射到/var/www/downloads/目錄下。

    2.反向代理

    在使用Nginx作為反向代理服務(wù)器時(shí),Nginx會(huì)將請(qǐng)求轉(zhuǎn)發(fā)給Web服務(wù)器進(jìn)行處理,然后將處理結(jié)果返回給客戶端。

    這種場(chǎng)景通常用于實(shí)現(xiàn)負(fù)載均衡、提高Web服務(wù)器的安全性、隱藏Web服務(wù)器的真實(shí)IP等。

    下面是一個(gè)示例Nginx配置:

    upstream backend {? ? server backend1.example.com:8080 weight=3;? ? server backend2.example.com:8080;}server {? ? listen 80;? ? server_name example.com;? ? location / {? ? ? ? proxy_pass http://backend;? ? ? ? proxy_set_header Host $host;? ? ? ? proxy_set_header X-Real-IP $remote_addr;? ? }}

    上述配置中,Nginx會(huì)將訪問(wèn)根目錄(/)的請(qǐng)求轉(zhuǎn)發(fā)給后端的Web服務(wù)器(backend1.example.com和backend2.example.com),其中backend1.example.com的權(quán)重為3,backend2.example.com的權(quán)重為1,表示backend1.example.com的處理能力更強(qiáng)。

    在轉(zhuǎn)發(fā)請(qǐng)求時(shí),Nginx還會(huì)設(shè)置HTTP頭信息中的Host和X-Real-IP字段,從而隱藏Web服務(wù)器的真實(shí)IP。

    3.負(fù)載均衡器

    在使用Nginx作為負(fù)載均衡器時(shí),Nginx會(huì)將請(qǐng)求均衡地分發(fā)到多個(gè)Web服務(wù)器上,從而實(shí)現(xiàn)高并發(fā)、高可用的服務(wù)。這種場(chǎng)景通常用于Web應(yīng)用程序的集群部署、分布式系統(tǒng)的部署等。下面是一個(gè)示例Nginx配置:

    upstream backend {? ? server backend1.example.com:8080;? ? server backend2.example.com:8080;? ? server backend3.example.com:8080;}server {? ? listen 80;? ? server_name example.com;? ? location / {? ? proxy_pass http://backend;? ? proxy_set_header Host $host;? ? proxy_set_header X-Real-IP $remote_addr;?? ?}}

    上述配置中,Nginx會(huì)將請(qǐng)求均衡地分發(fā)到三個(gè)Web服務(wù)器(backend1.example.com、backend2.example.com和backend3.example.com)上,從而實(shí)現(xiàn)負(fù)載均衡。

    在轉(zhuǎn)發(fā)請(qǐng)求時(shí),Nginx還會(huì)設(shè)置HTTP頭信息中的Host和X-Real-IP字段,從而隱藏Web服務(wù)器的真實(shí)IP。

    4.緩存服務(wù)器

    在使用Nginx作為緩存服務(wù)器時(shí),Nginx會(huì)緩存Web服務(wù)器返回的響應(yīng),從而減少對(duì)Web服務(wù)器的請(qǐng)求。這種場(chǎng)景通常用于提高Web應(yīng)用程序的性能、降低Web服務(wù)器的負(fù)載等。下面是一個(gè)示例Nginx配置:

    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;server {listen 80;server_name example.com;?? ?location / {?? ? ? ?proxy_cache my_cache;?? ? ? ?proxy_pass http://backend;?? ? ? ?proxy_set_header Host $host;?? ? ? ?proxy_set_header X-Real-IP $remote_addr;?? ?}}

    上述配置中,Nginx會(huì)將Web服務(wù)器返回的響應(yīng)緩存到/var/cache/nginx/my_cache目錄下,并設(shè)置緩存有效期為60分鐘。在緩存命中時(shí),Nginx會(huì)直接返回緩存的響應(yīng),從而減少對(duì)Web服務(wù)器的請(qǐng)求。

    總之,Nginx具有很強(qiáng)的可擴(kuò)展性和靈活性,可以根據(jù)不同的需求配置不同的使用場(chǎng)景。以上僅是一些示例,實(shí)際應(yīng)用中還有很多其他的使用場(chǎng)景。

    5.反向代理服務(wù)器

    在使用Nginx作為反向代理服務(wù)器時(shí),Nginx會(huì)將客戶端請(qǐng)求轉(zhuǎn)發(fā)到后端的Web服務(wù)器上,并將后端服務(wù)器返回的響應(yīng)轉(zhuǎn)發(fā)給客戶端。這種場(chǎng)景通常用于隱藏后端服務(wù)器的真實(shí)IP、提高Web應(yīng)用程序的可用性等。下面是一個(gè)示例Nginx配置:

    server {? ? listen 80;? ? server_name example.com;? ? location / {? ? ? ? proxy_pass http://backend;? ? ? ? proxy_set_header Host $host;? ? ? ? proxy_set_header X-Real-IP $remote_addr;? ? }}

    上述配置中,Nginx會(huì)將客戶端請(qǐng)求轉(zhuǎn)發(fā)到http://backend上,并設(shè)置HTTP頭信息中的Host和X-Real-IP字段,從而隱藏后端服務(wù)器的真實(shí)IP。

    6.WebSocket服務(wù)器

    在使用Nginx作為WebSocket服務(wù)器時(shí),Nginx會(huì)將客戶端請(qǐng)求轉(zhuǎn)發(fā)到后端的WebSocket服務(wù)器上,并實(shí)現(xiàn)WebSocket協(xié)議的連接管理。這種場(chǎng)景通常用于實(shí)時(shí)通信、游戲等應(yīng)用程序。

    下面是一個(gè)示例Nginx配置:

    map $http_upgrade $connection_upgrade {? ? default upgrade;? ? "" close;}server {? ? listen 80;? ? server_name example.com;? ? location / {? ? ? ? proxy_pass http://backend;? ? ? ? proxy_http_version 1.1;? ? ? ? proxy_set_header Upgrade $http_upgrade;? ? ? ? proxy_set_header Connection $connection_upgrade;? ? ? ? proxy_set_header Host $host;? ? ? ? proxy_set_header X-Real-IP $remote_addr;? ? }}

    上述配置中,Nginx會(huì)將WebSocket請(qǐng)求轉(zhuǎn)發(fā)到http://backend上,并設(shè)置HTTP頭信息中的Upgrade、Connection、Host和X-Real-IP字段,從而實(shí)現(xiàn)WebSocket協(xié)議的連接管理。

    總之,Nginx具有很多的使用場(chǎng)景,可以根據(jù)不同的需求配置不同的服務(wù)器功能。以上僅是一些示例,實(shí)際應(yīng)用中還有很多其他的使用場(chǎng)景。

    總結(jié)

    以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持。

    標(biāo)簽: Nginx
    主站蜘蛛池模板: 日韩国产成人精品视频 | 久久久久久久久久毛片精品美女 | 国产日韩欧美swag在线观看 | 国产高清在线精品一区二区三区 | 久久精品国产亚洲aa | 天干天干天啪啪夜爽爽色 | 欧美精品伊人久久 | 最新中文字幕一区二区乱码 | 中文无码日韩欧免费视频 | 亚洲国产精品一区二区九九 | 国产亚洲精品久久久久久无 | 国产99视频精品免费视频免里 | 亚洲精品成人7777在线观看 | 永久免费毛片手机版在线看 | 亚洲欧美日韩国产精品 | 欧洲欧美成人免费大片 | 一级黄免费 | 大伊香蕉精品视频在线观看 | 在线91精品亚洲网站精品成人 | 国产欧美综合一区二区 | 国产成人亚洲综合 | 成年女人黄小视频 | 国产亚洲欧美一区 | 国产精品99久久久久久宅男 | 三级毛片免费看 | 欧美亚洲激情视频 | 欧美在线综合 | 国产免费一区二区三区在线 | 日本美女黄网站 | 大学生久久香蕉国产线观看 | 亚洲久久成人 | 国产a精品 | 欧美综合图片一区二区三区 | 欧美久久一区二区 | 九九成人 | 国产91一区二这在线播放 | 日本韩国一区 | 中文字幕在线播放 | 福利视频在线午夜老司机 | 免费a网址 | 男人精品一线视频在线观看 |