CentOS 7.4 Tengine安裝配置詳解(七)
1、修改node1配置文件nginx.conf:
(1)在http配置段中增加如下代碼:
proxy_cache_path /usr/local/tengine/cache levels=1:1:2 keys_zone=mycache:200m inactive=15d max_size=100g;
備註:
? levels=1:1:2表示1個字符的一級緩存目錄和二級緩存目錄,2個字符的三級緩存目錄
? keys_zone=mycache:200m表示緩存名稱為mycache,內存緩存空間大小為200m
? inactive=15d表示15天內沒有被訪問的內容會被自動清除
(2)在指定location配置段中增加如下代碼:
server {
listen 80;
server_name node1.qiuyue.com;
location / {
root html;
index index.html index.html;
}
location /bbs {
proxy_pass http://192.168.1.144/bbs;
index index.html index.html;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache mycache;
proxy_cache_key $host$uri$is_args$args;
# 將域名、URI、參數組合成緩存的Key值,再根據Key值哈希,存儲緩存內容到緩存目錄中
proxy_cache_valid 200 302 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid any 1m;
proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
add_header X-Cache $upstream_cache_status;
}
}
備註:本地已有資源無需緩存,建議緩存後端服務器的資源
2、創建用於存儲緩存的目錄:# mkdir -pv /usr/local/tengine/cache
3、設置存儲緩存目錄的權限:# chown -R tengine:tengine /usr/local/tengine/cache
4、重載服務:# nginx -t # nginx -s reload
5、默認存儲緩存的目錄為空:# ls /usr/local/tengine/cache
6、本地Windows 10首次訪問http://node1.qiuyue.com/bbs(按F12進入調試模式),並查看緩存目錄中的內容:
7、刷新頁面,即本地Windows 10第二次訪問http://node1.qiuyue.com/bbs:
備註:緩存已經命中
8、修改node2測試頁內容:# echo "<h3>bbs on node2 new</h3>" > /var/www/html/bbs/index.html
9、刷新頁面,依舊是緩存中的內容:
10、清理緩存:
(1)動態加載ngx_cache_purge模塊:
# cd /tmp
# wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz
# tar -xf ngx_cache_purge-2.3.tar.gz
# dso_tool --add-module=/tmp/ngx_cache_purge-2.3
# vim nginx.conf
dso {
load ngx_cache_purge_module.so;
}
(2)編輯location:
location ~ /purge(/.*) {
allow 192.168.1.0/24;
deny all;
proxy_cache_purge mycache $host$1$is_args$args;
access_log off;
}
# nginx -t # nginx -s reload # nginx -m
(3)清理緩存:
如果要清理http://node1.qiuyue.com/bbs/index.html的緩存,則訪問http://node1.qiuyue.com/purge/bbs/index.html即可,會出現Successful purge的提示
備註:可以直接刪除/usr/local/tengine/cache目錄中的所有內容來達到清理緩存的目的,但是不建議這樣操作。
CentOS 7.4 Tengine安裝配置詳解(七)