麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > Nginx > 正文

使用nginx緩存服務器上靜態文件的設置方法

2024-08-30 12:29:34
字體:
來源:轉載
供稿:網友

一、nginx緩存的優點

nginx,緩存靜態文件,靜態緩存

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

二、如何進行設置

先上個栗子:

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 / {    }    #要緩存文件的后綴,可以在以下設置。    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層設置

 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 后端服務器數據回傳時間
  • proxy_buffer_size 緩沖區的大小
  • proxy_buffers 每個連接設置緩沖區的數量為number,每塊緩沖區的大小為size
  • proxy_busy_buffers_size 開啟緩沖響應的功能以后,在沒有讀到全部響應的情況下,寫緩沖到達一定大小時,nginx一定會向客戶端發送響應,直到緩沖小于此值。
  • proxy_temp_file_write_size 設置nginx每次寫數據到臨時文件的size(大小)限制
  • proxy_temp_path 從后端服務器接收的臨時文件的存放路徑
  • proxy_cache_path 設置緩存的路徑和其他參數。被緩存的數據如果在inactive參數(當前為1天)指定的時間內未被訪問,就會被從緩存中移除

2.2 server層設置

2.2.1 反向緩存代理服務器

server {    listen    80 default_server;    server_name localhost;    root /mnt/blog/;    location / {    }    #要緩存文件的后綴,可以在以下設置。    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緩存里拿不到資源,向該地址轉發請求,拿到新的資源,并進行緩存
  • proxy_redirect 設置后端服務器“Location”響應頭和“Refresh”響應頭的替換文本
  • proxy_set_header 允許重新定義或者添加發往后端服務器的請求頭
  • proxy_cache 指定用于頁面緩存的共享內存,對應http層設置的keys_zone
  • proxy_cache_valid 為不同的響應狀態碼設置不同的緩存時間
  • expires 緩存時間
  •  

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

當解析到上述文件名結尾的靜態資源,會到緩存區獲取靜態資源。

如果獲取到對應資源,則直接返回數據。

如果獲取不到,則將請求轉發給proxy_pass指向的地址進行處理。

2.2.2 源服務器

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

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

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

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

訪問http://wangxiaokai.vip結果如下:

nginx,緩存靜態文件,靜態緩存

 

 


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一级免费a | 亚洲国产视频网 | 亚洲精华液久久含羞草 | 毛片在线免费观看网址 | 日韩2区| 激情大乳女做爰办公室韩国 | 高清国产福利 | 国产毛片毛片 | 亚洲第五色综合网 | 91国内精品久久久久免费影院 | 久久久久久久久久久久久久av | 黄视频免费观看 | 国产亚洲精品久久久久久久久久 | av免费在线观看免费 | 久久精品视频网址 | 国产免费观看视频 | 夜夜看| 黄色羞羞视频在线观看 | v11av在线播放 | 精品一区二区三区电影 | 深夜福利视频免费观看 | 国产精品成人一区二区三区电影毛片 | 中文字幕在线观看视频一区 | xxxx69hd一hd | 男女污视频在线观看 | 在线a免费观看 | 美女av在线免费观看 | 九色免费视频 | 日韩一级片 | 久久久中精品2020中文 | 免费一区区三区四区 | 国产精品成人一区二区三区电影毛片 | www.精品在线 | 欧美成人激情 | 精品不卡 | 亚洲一级簧片 | 日本中文视频 | 特片网久久 | 欧美日韩手机在线观看 | 全免费午夜一级毛片真人 | 久久久久久久一区二区三区 |