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

Nginx常見的幾種回源方式實(shí)現(xiàn)

 更新時間:2024年02月22日 10:44:23   作者:運(yùn)維笑談  
本文主要介紹了Nginx常見的幾種回源方式實(shí)現(xiàn),通過Nginx回源文件至本地機(jī)房,域名解析采用內(nèi)外網(wǎng)單獨(dú)解析,外地辦公同事可以通過CDN進(jìn)行更新,感興趣的可以了解一下

簡介

為了解決辦公網(wǎng)軟件版本更新,導(dǎo)致辦公網(wǎng)公網(wǎng)帶寬緊張。通過Nginx回源文件至本地機(jī)房,域名解析采用內(nèi)外網(wǎng)單獨(dú)解析,外地辦公同事可以通過CDN進(jìn)行更新,公司辦公網(wǎng)同事通過內(nèi)網(wǎng)DNS解析獲取本地資源更新。

如果不是辦公網(wǎng)公網(wǎng)帶寬緊張,又沒有類似SCCM管理工具,是很少用到nginx來解決辦公網(wǎng)軟件更新的問題,有點(diǎn)偏冷門。作為運(yùn)維向來是遇到問題橫刀策馬,果斷解決各種疑難雜癥。

nginx常見的回源方式nginx proxy_store或proxy_cache模塊

nginx中的proxy_store模塊和proxy_cache模塊是兩種不同的回源方式,它們各自有優(yōu)缺點(diǎn),適用于不同的場景。以下是對這兩種方式的簡要說明:

proxy_store模塊:

優(yōu)點(diǎn):

  • 靈活性:proxy_store模塊允許你根據(jù)需要保存特定的響應(yīng)內(nèi)容,你可以選擇性地將某些響應(yīng)存儲到指定的路徑。
  • 定制性:可以按照自己的規(guī)則和需求來配置存儲的位置和文件名,從而實(shí)現(xiàn)更高度的定制。

缺點(diǎn):

  • 不適合大規(guī)模緩存:proxy_store主要用于在本地磁盤上存儲響應(yīng)內(nèi)容,不適合大規(guī)模緩存,因?yàn)樗赡軐?dǎo)致本地磁盤空間迅速耗盡。
  • 性能:當(dāng)需要頻繁地讀取和寫入磁盤時,可能對性能產(chǎn)生影響。

proxy_cache模塊:

優(yōu)點(diǎn):

性能:proxy_cache通過使用內(nèi)存緩存,可以顯著提高性能,因?yàn)閮?nèi)存的讀寫速度遠(yuǎn)遠(yuǎn)快于磁盤。

自動過期:支持設(shè)置緩存的過期時間,避免緩存內(nèi)容過時。

緩存共享:如果有多個Nginx服務(wù)器,proxy_cache模塊還支持緩存的共享,可以在多個服務(wù)器之間共享緩存。

缺點(diǎn):

占用內(nèi)存:由于緩存在內(nèi)存中,可能導(dǎo)致占用較大的內(nèi)存空間,尤其在大規(guī)模緩存的情況下。

配置復(fù)雜性:對于一些特定的配置,可能需要更多的配置工作,相對于proxy_store而言,可能配置較為復(fù)雜。

選擇建議:

小規(guī)模場景:如果你的應(yīng)用是小規(guī)模的,并且對性能要求不是非常高,可以考慮使用proxy_store模塊,因?yàn)樗鄬唵?,且靈活性較高。

大規(guī)模場景:如果你的應(yīng)用需要高性能和大規(guī)模緩存,proxy_cache模塊是更好的選擇,因?yàn)樗趦?nèi)存中管理緩存,提高了讀取速度,并且支持更多的高級緩存控制選項。

最終選擇取決于你的具體需求和應(yīng)用場景。

proxy_store方式實(shí)現(xiàn)回源

以下是nginx回源配置

server {
        listen       80;
        server_name  內(nèi)網(wǎng)訪問域名;
        location / {
            expires -1;
            proxy_set_header Accept-Encoding '';
            root /data/www;
            proxy_store on;
            proxy_store_access user:rw group:rw all:rw;
            proxy_temp_path /data/tmp;
            if ( !-e $request_filename)  {
                 proxy_pass 云對象存儲地址;
            }
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
 
        location /ngx_stat {
            stub_status on;
            access_log off;
        }
}

為什么使用對象存儲地址而不是CDN地址,是由于上傳至對象存儲的文件還不能及時同步到各個CDN節(jié)點(diǎn),導(dǎo)致CDN上有很多請求報錯日志

proxy_cache方式實(shí)現(xiàn)回源

以下是nginx回源配置,重點(diǎn)關(guān)注proxy_cache配置

vim nginx.conf
#定義nginx運(yùn)行的用戶和用戶組
user  app;
#啟動進(jìn)程,通常設(shè)置成和CPU的數(shù)量相等
worker_processes  auto;
#改指令是當(dāng)義工nginx進(jìn)程打開的最多文件描述符數(shù)目,理論值應(yīng)該是最多打開文件數(shù)(ulimit -n)
#與nginx進(jìn)程數(shù)相除,但是nginx分配請求并不是那么均勻,所以最好與ulimit -n的值保持一致
worker_rlimit_nofile 65535;
events {
    #單個后臺worker process進(jìn)程的最大并發(fā)連接數(shù)(最大連接數(shù)=連接數(shù)*進(jìn)程數(shù))
    worker_connections  16383;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    #訪問日志格式,其中X-B3-TraceId參數(shù)是鏈路跟蹤參數(shù)
    log_format json '{"@timestamp":"$time_iso8601",'
                 '"host":"$server_addr",'
                 '"clientip":"$remote_addr",'
                 '"size":$body_bytes_sent,'
                 '"responsetime":$request_time,'
                 '"upstreamtime":"$upstream_response_time",'
                 '"upstreamhost":"$upstream_addr",'
                 '"http_host":"$host",'
                 '"url":"$uri",'
                 '"xff":"$http_x_forwarded_for",'
                 '"referer":"$http_referer",'
                 '"agent":"$http_user_agent",'
                 '"X-B3-TraceId":"$http_X_B3_TraceId",'
                 '"Content-Length":"$http_Content_Length",'
                 '"appkey":"$http_appkey",'
                 '"method":"$http_method",'
                 '"status":"$status",'
                 '"ups_status":$upstream_status}';
    #全局訪問日志,采用json日志格式
    access_log  /data/logs/nginx/access.log  json;
    #全局錯誤日志
    #錯誤日志定義等級,默認(rèn)error級別,[ debug | info | notice | warn | error | crit ]
    error_log   /data/logs/nginx/error.log;
    #sendfile指令制定nginx是否調(diào)用sendfile函數(shù)(zero copy方式)來輸出文件
    #對于普通應(yīng)用必須設(shè)為on
    #如果用來進(jìn)行下載等應(yīng)用磁盤I/O重負(fù)載應(yīng)用,可設(shè)置為off,以平衡磁盤與網(wǎng)絡(luò)I/O處理速度
    #降低系統(tǒng)的uptime
    sendfile        on;
    #防止網(wǎng)絡(luò)阻塞
    tcp_nopush     on;
    #提高數(shù)據(jù)的實(shí)時響應(yīng)性
    tcp_nodelay    on;
    #隱藏nginx版本號
    server_tokens off;
    #keepalive超時時間,客戶端到服務(wù)器端的連接持續(xù)有效時間,當(dāng)出現(xiàn)對服務(wù)器的后端請求時,
    #keepalive-timeout功能可避免建立或重新建立連接
    keepalive_timeout  65;
    #定義讀取客戶端請求標(biāo)頭的超時。如果客戶端在此時間內(nèi)未傳輸整個標(biāo)頭,
    #則請求將以408(請求超時)錯誤終止
    client_header_timeout 15;
    #定義讀取客戶端請求正文的超時。如果客戶端在此時間內(nèi)未傳輸任何內(nèi)容,
    #則請求會因408(請求超時)錯誤終止
    client_body_timeout 15;
    #后端服務(wù)器數(shù)據(jù)回傳時間(代理發(fā)送超時)
    send_timeout 25;
    client_header_buffer_size 4096K;
    #允許客戶端請求的最大單文件字節(jié)數(shù)
    client_max_body_size 10m;
    proxy_cache_path  /data/nginx/proxy_cache/cache levels=1:2 keys_zone=downloadcache:600m max_size=400g inactive=48h use_temp_path=on;
    proxy_temp_path    /data/nginx/proxy_cache/temp;  
    proxy_cache_key    $host$request_uri;
    #開啟gzip壓縮
    #gzip  on;
    #gzip_min_length 1k;
    #gzip_buffers 4 16k;
    #壓縮級別大小,最大為9,值越小,壓縮后比例越小,CPU處理更快,值越大,消耗CPU比較高
    #gzip_comp_level 2;
    #gzip_types text/plain application/javascript text/css application/xml text/javascript application/json;
    #gzip_vary off;
 
include /usr/local/nginx/conf/vhost/*.conf;
}
 
#虛擬主機(jī)配置文件
vim default.conf
server {
        listen       443 ssl;
        server_name  域名;
        ssl_certificate /usr/local/nginx/conf/ssl/域名.crt;
        ssl_certificate_key /usr/local/nginx/conf/ssl/域名.key;
        location / {
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $http_x_forward_for;
            proxy_set_header X-Forwarded-Host $server_name;
            proxy_set_header Host $host;
            proxy_cache          downloadcache;
            proxy_cache_valid      200 600s;
            proxy_cache_valid      304 600s;
            proxy_cache_use_stale    invalid_header http_403 http_404 http_500 http_502;
            proxy_cache_lock      on;
            proxy_cache_lock_timeout  5s;
            proxy_pass https://域名;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
 
        location /ngx_stat {
            stub_status on;
            access_log off;
        }
}

到此這篇關(guān)于Nginx常見的幾種回源方式實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx 回源內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 網(wǎng)站如何通過nginx設(shè)置黑/白名單IP限制及國家城市IP訪問限制

    網(wǎng)站如何通過nginx設(shè)置黑/白名單IP限制及國家城市IP訪問限制

    如果你的服務(wù)器被攻擊很厲害,而且服務(wù)器是自己練手的,不需要其他用戶訪問的,那么就可以配置一下nginx的白名單,下面這篇文章主要給大家介紹了關(guān)于網(wǎng)站如何通過nginx設(shè)置黑/白名單IP限制及國家城市IP訪問限制的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • nginx location 配置 正則表達(dá)式實(shí)例詳解

    nginx location 配置 正則表達(dá)式實(shí)例詳解

    本文通過實(shí)例代碼給大家介紹了nginx location 配置 正則表達(dá)式的問題,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • 三步配置輕量級服務(wù)器nginx小結(jié)

    三步配置輕量級服務(wù)器nginx小結(jié)

    Nginx是一個安裝非常的簡單 , 配置文件非常簡潔,本文就來介紹一下三步配置輕量級服務(wù)器nginx,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • Nginx源碼研究之nginx限流模塊詳解

    Nginx源碼研究之nginx限流模塊詳解

    這篇文章主要介紹了Nginx源碼研究之nginx限流模塊詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • nginx 部署 vue 項目找不到j(luò)s css文件的解決方法

    nginx 部署 vue 項目找不到j(luò)s css文件的解決方法

    這篇文章主要介紹了nginx 部署 vue 項目找不到j(luò)s css文件的解決方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • Nginx的安裝和多域名配置的實(shí)現(xiàn)方法

    Nginx的安裝和多域名配置的實(shí)現(xiàn)方法

    這篇文章主要介紹了Nginx的安裝和多域名配置的實(shí)現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Nginx隱藏服務(wù)器端各類信息的方法

    Nginx隱藏服務(wù)器端各類信息的方法

    這篇文章主要介紹了Nginx隱藏服務(wù)器端各類信息的方法,包括隱藏HTTP頭信息和PHP版本號等等,需要的朋友可以參考下
    2015-07-07
  • 一篇文章徹底搞懂Nginx的.conf文件路徑配置

    一篇文章徹底搞懂Nginx的.conf文件路徑配置

    nginx.conf文件是Nginx的主配置文件,它包含了Nginx的全局配置和各個虛擬主機(jī)的配置,這篇文章主要給大家介紹了關(guān)于Nginx的.conf文件路徑配置的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • Nginx基礎(chǔ)學(xué)習(xí)之realip模塊的使用方法

    Nginx基礎(chǔ)學(xué)習(xí)之realip模塊的使用方法

    這篇文章主要給大家介紹了關(guān)于Nginx基礎(chǔ)學(xué)習(xí)之realip模塊使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Nginx具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Nginx實(shí)現(xiàn)請求的超時自動重試的方法示例

    Nginx實(shí)現(xiàn)請求的超時自動重試的方法示例

    在當(dāng)今數(shù)字化的快節(jié)奏世界中,我們的網(wǎng)絡(luò)應(yīng)用就像是繁忙的交通樞紐,每天都要處理海量的請求,我們需要一種像“備用路線”一樣的機(jī)制,也就是請求的超時自動重試,本文就給大家介紹了Nginx?中怎樣實(shí)現(xiàn)請求的超時自動重試,需要的朋友可以參考下
    2024-07-07

最新評論

广州市| 凌云县| 六枝特区| 屏东县| 青田县| 永安市| 高安市| 托里县| 兴城市| 兴和县| 通城县| 姚安县| 云安县| 岳普湖县| 且末县| 西乌珠穆沁旗| 舞钢市| 鹤岗市| 嘉义市| 永昌县| 大埔县| 汝城县| 新津县| 武汉市| 胶南市| 左权县| 雷波县| 鸡西市| 黔西县| 北宁市| 汉源县| 鄂伦春自治旗| 五大连池市| 万全县| 丁青县| 蕉岭县| 成安县| 景德镇市| 宿松县| 汕尾市| 体育|