最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2023年04月28日 15:23:12   作者:knowwait  
這篇文章主要介紹了Nginx中的主要應(yīng)用場景解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

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

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

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

舉例:我們在服務(wù)器上部署一個靜態(tài)資源index.html

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

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

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

啟動nginx或者重新加載nginx

我們訪問下: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)是價格昂貴

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

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

http {
    upstream test{
    ##后端實(shí)際服務(wù)器 nginx在輪詢訪問以下幾臺服務(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)重,讓其處理更多的請;而配置低、負(fù)載高的機(jī)器,給其分配較低的權(quán)重,降低其系統(tǒng)負(fù)載,加權(quán)輪詢能很好地處理這一問題,并將請求順序且按照權(quán)重分配到后端。

http {
    upstream test{
    ##后端實(shí)際服務(wù)器 nginx在輪詢訪問以下幾臺服務(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地址,通過哈希函數(shù)計(jì)算得到一個數(shù)值,用該數(shù)值對服務(wù)器列表的大小進(jìn)行取模運(yùn)算,得到的結(jié)果便是客服端要訪問服務(wù)器的序號。

采用源地址哈希法進(jìn)行負(fù)載均衡,同一IP地址的客戶端,當(dāng)后端服務(wù)器列表不變時,它每次都會映射到同一臺后端服務(wù)器進(jì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ù)器的配置不盡相同,對于請求的處理有快有慢,最小連接數(shù)法根據(jù)后端服務(wù)器當(dāng)前的連接情況,動態(tài)地選取其中當(dāng)前積壓連接數(shù)最少的一臺服務(wù)器來處理當(dāng)前的請求,盡可能地提高后端服務(wù)的利用效率,將負(fù)責(zé)合理地分流到每一臺服務(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:表示停掉某臺服務(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ù)器不會被訪問到,只有其他服務(wù)器都掛掉的時候,才會使用備用服務(wù)器,所以采用這種方式一般用來實(shí)現(xiàn)熱部署,先把代碼更新到備用服務(wù)器上,然后停掉正常服務(wù)器,正常服務(wù)器部署完成后,備用服務(wù)器又處于等待狀態(tài),整個部署過程使用戶能夠感受不到停機(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)代理
  • 動靜分離
  • 虛擬主機(jī)

Nginx的使用場景及示例

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

下面列舉幾個使用場景和示例:

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

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

下面是一個示例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會將訪問根目錄(/)的請求映射到/usr/share/nginx/html目錄下,如果請求的是/images/目錄下的文件,Nginx則會映射到/var/www/images/目錄下,如果請求的是/downloads/目錄下的文件,Nginx則會映射到/var/www/downloads/目錄下。

2.反向代理

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

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

下面是一個示例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會將訪問根目錄(/)的請求轉(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ā)請求時,Nginx還會設(shè)置HTTP頭信息中的Host和X-Real-IP字段,從而隱藏Web服務(wù)器的真實(shí)IP。

3.負(fù)載均衡器

在使用Nginx作為負(fù)載均衡器時,Nginx會將請求均衡地分發(fā)到多個Web服務(wù)器上,從而實(shí)現(xiàn)高并發(fā)、高可用的服務(wù)。這種場景通常用于Web應(yīng)用程序的集群部署、分布式系統(tǒng)的部署等。下面是一個示例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會將請求均衡地分發(fā)到三個Web服務(wù)器(backend1.example.com、backend2.example.com和backend3.example.com)上,從而實(shí)現(xiàn)負(fù)載均衡。

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

4.緩存服務(wù)器

在使用Nginx作為緩存服務(wù)器時,Nginx會緩存Web服務(wù)器返回的響應(yīng),從而減少對Web服務(wù)器的請求。這種場景通常用于提高Web應(yīng)用程序的性能、降低Web服務(wù)器的負(fù)載等。下面是一個示例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會將Web服務(wù)器返回的響應(yīng)緩存到/var/cache/nginx/my_cache目錄下,并設(shè)置緩存有效期為60分鐘。在緩存命中時,Nginx會直接返回緩存的響應(yīng),從而減少對Web服務(wù)器的請求。

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

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

在使用Nginx作為反向代理服務(wù)器時,Nginx會將客戶端請求轉(zhuǎn)發(fā)到后端的Web服務(wù)器上,并將后端服務(wù)器返回的響應(yīng)轉(zhuǎn)發(fā)給客戶端。這種場景通常用于隱藏后端服務(wù)器的真實(shí)IP、提高Web應(yīng)用程序的可用性等。下面是一個示例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會將客戶端請求轉(zhuǎn)發(fā)到http://backend上,并設(shè)置HTTP頭信息中的Host和X-Real-IP字段,從而隱藏后端服務(wù)器的真實(shí)IP。

6.WebSocket服務(wù)器

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

下面是一個示例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會將WebSocket請求轉(zhuǎn)發(fā)到http://backend上,并設(shè)置HTTP頭信息中的Upgrade、Connection、Host和X-Real-IP字段,從而實(shí)現(xiàn)WebSocket協(xié)議的連接管理。

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

總結(jié)

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

相關(guān)文章

  • nginx結(jié)合keepalived實(shí)現(xiàn)高可用的完整步驟

    nginx結(jié)合keepalived實(shí)現(xiàn)高可用的完整步驟

    這篇文章主要給大家介紹了關(guān)于nginx結(jié)合keepalived實(shí)現(xiàn)高可用的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用nginx具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • keepalived監(jiān)控nginx進(jìn)程的實(shí)現(xiàn)示例

    keepalived監(jiān)控nginx進(jìn)程的實(shí)現(xiàn)示例

    本文主要介紹了keepalived監(jiān)控nginx進(jìn)程的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • zabbix配置nginx監(jiān)控的實(shí)現(xiàn)

    zabbix配置nginx監(jiān)控的實(shí)現(xiàn)

    本文主要介紹了zabbix配置nginx監(jiān)控的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Nginx 反向代理與負(fù)載均衡運(yùn)行小結(jié)

    Nginx 反向代理與負(fù)載均衡運(yùn)行小結(jié)

    Nginx還支持對后端服務(wù)器進(jìn)行健康檢查,當(dāng)某個服務(wù)器不可用時,Nginx會自動將流量重定向到其他可用的服務(wù)器,這篇文章給大家分享Nginx 反向代理與負(fù)載均衡是如何運(yùn)行的,感興趣的朋友一起看看吧
    2024-03-03
  • Nginx 的多站點(diǎn)配置方案

    Nginx 的多站點(diǎn)配置方案

    這篇文章主要介紹了Nginx 的多站點(diǎn)配置方案,需要的朋友可以參考下
    2017-07-07
  • nginx rewrite 偽靜態(tài)配置參數(shù)詳細(xì)說明

    nginx rewrite 偽靜態(tài)配置參數(shù)詳細(xì)說明

    nginx rewrite 偽靜態(tài)配置參數(shù)和使用例子 附正則使用說明
    2010-05-05
  • nginx反向代理配置400,404,502等狀態(tài)的自定義頁面問題

    nginx反向代理配置400,404,502等狀態(tài)的自定義頁面問題

    這篇文章主要介紹了nginx反向代理配置400,404,502等狀態(tài)的自定義頁面問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • ELK與Grafana聯(lián)合打造可視化監(jiān)控來分析nginx日志

    ELK與Grafana聯(lián)合打造可視化監(jiān)控來分析nginx日志

    這篇文章主要為大家介紹了ELK與Grafana的聯(lián)合打造可視化監(jiān)控來分析nginx日志,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • Nginx實(shí)現(xiàn)接口限流的方法匯總

    Nginx實(shí)現(xiàn)接口限流的方法匯總

    這篇文章主要為大家詳細(xì)介紹了Nginx實(shí)現(xiàn)接口限流的相關(guān)方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • Nginx實(shí)現(xiàn)靜態(tài)資源壓縮的方法詳解

    Nginx實(shí)現(xiàn)靜態(tài)資源壓縮的方法詳解

    靜態(tài)資源過大,下載耗時導(dǎo)致頁面打開慢,希望通過壓縮減小文件大小,提升下載速度,所以本文給大家介紹了Nginx實(shí)現(xiàn)靜態(tài)資源壓縮的方法,并通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02

最新評論

曲松县| 苍山县| 甘谷县| 临夏市| 万年县| 贵阳市| 台南县| 鸡西市| 政和县| 通许县| 沂水县| 吴江市| 讷河市| 汉阴县| 本溪| 扎鲁特旗| 泗洪县| 唐山市| 东源县| 浦东新区| 宁晋县| 准格尔旗| 轮台县| 屯昌县| 鲁山县| 泽普县| 呼和浩特市| 新竹县| 新宾| 信丰县| 饶阳县| 通许县| 广饶县| 香河县| 贵溪市| 西乌| 北宁市| 建瓯市| 聂荣县| 葫芦岛市| 汤阴县|