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

使用nginx緩存服務器上靜態(tài)文件的設(shè)置方法

 更新時間:2018年05月10日 09:26:24   作者:wall''s  
這篇文章主要介紹了使用nginx緩存服務器上的靜態(tài)文件,文中給大家提到了nginx緩存的優(yōu)點及設(shè)置方法,通過實例相結(jié)合的形式給大家介紹的非常詳細,需要的朋友可以參考下

一、nginx緩存的優(yōu)點

如圖所示,nginx緩存,可以在一定程度上,減少源服務器的處理請求壓力。
因為靜態(tài)文件(比如css,js, 圖片)中,很多都是不經(jīng)常更新的。nginx使用proxy_cache將用戶的請求緩存到本地一個目錄。下一個相同請求可以直接調(diào)取緩存文件,就不用去請求服務器了。
畢竟,IO密集型服務的處理是nginx的強項。

二、如何進行設(shè)置

先上個栗子:

http{
  proxy_connect_timeout 10;
  proxy_read_timeout 180;
  proxy_send_timeout 5;
  proxy_buffer_size 16k;
  proxy_buffers 4 32k;
  proxy_busy_buffers_size 96k;
  proxy_temp_file_write_size 96k;
  proxy_temp_path /tmp/temp_dir;
  proxy_cache_path /tmp/cache levels=1:2 keys_zone=cache_one:100m inactive=1d max_size=10g;
  server {
    listen    80 default_server;
    server_name localhost;
    root /mnt/blog/;
    location / {
    }
    #要緩存文件的后綴,可以在以下設(shè)置。
    location ~ .*\.(gif|jpg|png|css|js)(.*) {
        proxy_pass http://ip地址:90;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_cache cache_one;
        proxy_cache_valid 200 302 24h;
        proxy_cache_valid 301 30d;
        proxy_cache_valid any 5m;
        expires 90d;
        add_header wall "hey!guys!give me a star.";
    }
  }
  # 無nginx緩存的blog端口
  server {
    listen 90;
    server_name localhost;
    root /mnt/blog/;
    location / {
    }
  }
}

因為我是在一臺服務器上做試驗,所以用了兩個端口80和90進行模擬兩臺服務器之間的交互。

80端口對接的是普通的域名(http://wangxiaokai.vip)訪問。
90端口負責處理80端口代理過來的資源訪問。
相當于90端口是源服務器,80端口是nginx反向緩存代理服務器。

接下來講一下配置項:

2.1 http層設(shè)置

 proxy_connect_timeout 10;
  proxy_read_timeout 180;
  proxy_send_timeout 5;
  proxy_buffer_size 16k;
  proxy_buffers 4 32k;
  proxy_busy_buffers_size 96k;
  proxy_temp_file_write_size 96k;
  proxy_temp_path /tmp/temp_dir;
  proxy_cache_path /tmp/cache levels=1:2 keys_zone=cache_one:100m inactive=1d max_size=10g;
  • proxy_connect_timeout 服務器連接的超時時間
  • proxy_read_timeout 連接成功后,等候后端服務器響應時間
  • proxy_send_timeout 后端服務器數(shù)據(jù)回傳時間
  • proxy_buffer_size 緩沖區(qū)的大小
  • proxy_buffers 每個連接設(shè)置緩沖區(qū)的數(shù)量為number,每塊緩沖區(qū)的大小為size
  • proxy_busy_buffers_size 開啟緩沖響應的功能以后,在沒有讀到全部響應的情況下,寫緩沖到達一定大小時,nginx一定會向客戶端發(fā)送響應,直到緩沖小于此值。
  • proxy_temp_file_write_size 設(shè)置nginx每次寫數(shù)據(jù)到臨時文件的size(大小)限制
  • proxy_temp_path 從后端服務器接收的臨時文件的存放路徑
  • proxy_cache_path 設(shè)置緩存的路徑和其他參數(shù)。被緩存的數(shù)據(jù)如果在inactive參數(shù)(當前為1天)指定的時間內(nèi)未被訪問,就會被從緩存中移除

2.2 server層設(shè)置

2.2.1 反向緩存代理服務器

server {
    listen    80 default_server;
    server_name localhost;
    root /mnt/blog/;
    location / {
    }
    #要緩存文件的后綴,可以在以下設(shè)置。
    location ~ .*\.(gif|jpg|png|css|js)(.*) {
        proxy_pass http://ip地址:90;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_cache cache_one;
        proxy_cache_valid 200 302 24h;
        proxy_cache_valid 301 30d;
        proxy_cache_valid any 5m;
        expires 90d;
        add_header wall "hey!guys!give me a star.";
    }
  }
  • proxy_pass nginx緩存里拿不到資源,向該地址轉(zhuǎn)發(fā)請求,拿到新的資源,并進行緩存
  • proxy_redirect 設(shè)置后端服務器“Location”響應頭和“Refresh”響應頭的替換文本
  • proxy_set_header 允許重新定義或者添加發(fā)往后端服務器的請求頭
  • proxy_cache 指定用于頁面緩存的共享內(nèi)存,對應http層設(shè)置的keys_zone
  • proxy_cache_valid 為不同的響應狀態(tài)碼設(shè)置不同的緩存時間
  • expires 緩存時間

這里我設(shè)置了圖片、css、js靜態(tài)資源進行緩存。
當用戶輸入http://wangxiaokai.vip域名時,解析得到ip:port的訪問地址。port默認為80。所以頁面請求會被當前server截取到,進行請求處理。

當解析到上述文件名結(jié)尾的靜態(tài)資源,會到緩存區(qū)獲取靜態(tài)資源。

如果獲取到對應資源,則直接返回數(shù)據(jù)。

如果獲取不到,則將請求轉(zhuǎn)發(fā)給proxy_pass指向的地址進行處理。

2.2.2 源服務器

server {
    listen 90;
    server_name localhost;
    root /mnt/blog/;
    location / {
    }
  }

這里直接處理90端口接受到的請求,到服務器本地目錄/mnt/blog下抓取資源進行響應。

三、如何驗證緩存是否有效

細心的讀者應該發(fā)現(xiàn),我在第二段栗子里,留了個彩蛋 add_header wall "hey!guys!give me a star."。
add_header是用于在報頭設(shè)置自定義的信息。
所以,如果緩存有效的話,那么靜態(tài)資源返回的報頭,一定會帶上這個信息。

訪問http://wangxiaokai.vip結(jié)果如下:

相關(guān)文章

  • Nginx代理proxy pass配置去除前綴的實現(xiàn)

    Nginx代理proxy pass配置去除前綴的實現(xiàn)

    這篇文章主要介紹了Nginx代理proxy pass配置去除前綴的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • Nginx加固的幾種方式(控制超時時間&限制客戶端下載速度&并發(fā)連接數(shù))

    Nginx加固的幾種方式(控制超時時間&限制客戶端下載速度&并發(fā)連接數(shù))

    本文主要介紹了Nginx加固的幾種方式,包括控制超時時間,限制客戶端下載速度,并發(fā)連接數(shù)這幾種方式,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • 深入理解Nginx中Server和Location的匹配邏輯

    深入理解Nginx中Server和Location的匹配邏輯

    這篇文章主要介紹了深入理解Nginx中Server和Location的匹配邏輯,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • Nginx反向代理出現(xiàn)502?Bad?Gateway問題解決

    Nginx反向代理出現(xiàn)502?Bad?Gateway問題解決

    在配置Nginx反向代理時遇到502 Bad Gateway錯誤,經(jīng)過排查發(fā)現(xiàn)是SSL握手問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-10-10
  • Nginx可視化配置工具NginxWebUI的使用

    Nginx可視化配置工具NginxWebUI的使用

    本文主要介紹了Nginx可視化配置工具NginxWebUI的使用,可以使用?WebUI?配置?Nginx?的各項功能,包括端口轉(zhuǎn)發(fā),反向代理,ssl?證書配置,負載均衡等,感興趣的可以了解一下
    2022-01-01
  • Centos 6.5 64位中Nginx詳細安裝部署教程

    Centos 6.5 64位中Nginx詳細安裝部署教程

    Nginx是一個web服務器也可以用來做負載均衡及反向代理使用,目前使用最多的就是負載均衡,具體簡介我就不介紹了百度一下有很多,下面直接進入安裝步驟,需要的朋友可以參考下
    2017-08-08
  • Windows nginx安裝教程及簡單實踐

    Windows nginx安裝教程及簡單實踐

    這篇文章主要介紹了Windows nginx安裝教程及簡單實踐的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • nginx中配置sse的方法示例

    nginx中配置sse的方法示例

    本文主要介紹了nginx中配置sse的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-08-08
  • Nginx服務器中的重定向配置參考指南

    Nginx服務器中的重定向配置參考指南

    這里簡單整理了一份Nginx服務器中的重定向配置參考指,包括rewrite模塊的配置以及301重定向的設(shè)置等,需要的朋友可以參考下
    2016-05-05
  • 使用Docker主機啟動Nginx服務器的完整步驟詳解

    使用Docker主機啟動Nginx服務器的完整步驟詳解

    Docker是一個開源的容器化平臺,用于輕松地打包、部署和運行應用程序,而Nginx是一個高性能的開源反向代理服務器,也是一個流行的Web服務器,這篇文章主要給大家介紹了關(guān)于使用Docker主機啟動Nginx服務器的完整步驟,需要的朋友可以參考下
    2024-07-07

最新評論

鹤山市| 宣城市| 龙里县| 浦北县| 康马县| 七台河市| 唐山市| 南安市| 云浮市| 中卫市| 普安县| 浮梁县| 林口县| 德庆县| 南昌市| 龙海市| 图片| 盐山县| 常州市| 轮台县| 清镇市| 景德镇市| 古田县| 阿合奇县| 华蓥市| 高青县| 边坝县| 绩溪县| 定日县| 巴里| 龙州县| 肥西县| 麻栗坡县| 庄河市| 海丰县| 乐至县| 都兰县| 荃湾区| 琼中| 夏邑县| 宣威市|