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目录中的所有内容来达到清理缓存的目的,但是不建议这样操作。

原文地址:http://blog.51cto.com/qiuyue/2128448

时间: 2024-10-31 15:03:10

CentOS 7.4 Tengine安装配置详解(七)的相关文章

CentOS 7.4 Tengine安装配置详解(一)

一.安装配置Tengine: Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验.它的最终目标是打造一个高效.稳定.安全.易用的Web平台. 演示环境: ?  OS:CentOS 7.4 x86_64 ?  IP:192.168.1.222 1.安装开发环境:# yum -y groupinstall "Development Tools&quo

CentOS 7.4 Tengine安装配置详解(五)

十四.配置Tengine支持HTTPS 1.演示环境: IP 操作系统 角色 192.168.1.222 CentOS   7.4 Tengine服务器 192.168.1.145 CentOS   6.9 自建CA服务器 备注:Tengine和CA可以部署于同一台服务器 2.修改配置文件nginx.conf,创建基于主机名的虚拟主机: server { listen 80; server_name web.vhosts.com; location / { root /vhosts/web; i

CentOS 7.4 Tengine安装配置详解(六)

十五.反向代理: 1.演示环境: IP 操作系统 节点 角色 192.168.1.222 CentOS 7.4 node1 Tengine服务器 192.168.1.144 CentOS 6.9 node2 Apache服务器 2.node2安装Apache服务,并创建测试页: # yum -y install httpd # mkdir -pv /var/www/html/bbs # echo "<h3>httpd on node2</h3>" > /v

CentOS 7.4 Tengine安装配置详解(二)

三.配置虚拟主机: 1.配置基于端口的虚拟主机: (1)在http{}配置段中新增如下server: server { listen 8000; server_name localhost; access_log /usr/local/tengine/logs/localhost8000-access.log main; location / { root /vhosts/web; index index.html index.htm; } } (2)创建测试页:# mkdir -pv /vho

CentOS 7.4 Tengine安装配置详解(三)

九.根据HTTP响应状态码自定义错误页: 1.未配置前访问一个不存在的页面:http://192.168.1.222/abc/def.html,按F12后刷新页面 2.在server{}配置段中新增如下location: server { listen 80; server_name localhost; location /bbs { root /vhosts/bbs; error_page 404 404/404.html; } } 3.创建目录,并上传自定义错误页:# mkdir -pv

CentOS 7.4 Tengine安装配置详解(四)

十三.将请求的URL基于正则表达式进行rewrite重写 使用Tengine提供的全局变量或自定义变量,结合正则表达式和标志位实现URL重写以及重定向,通常可以实现http跳转至https.域名1跳转至域名2.URL1跳转至URL2等功能. 1. Perl兼容正则表达式: ?  .:匹配除换行符\n以外的任意单个字符 ?  ?:匹配之前的字符0次或1次 ?  +:匹配之前的字符至少1次 ?  *:匹配之前的字符任意次 ?  \d:匹配数字 ?  ^:匹配字符串的开始 ?  $:匹配字符串的结尾

samba 4.7.16 安装配置详解

系统:Centos 7.4 x64位 服务版本:samba-4.7.1.samba-client-4.7 Samba 简介 Samba 是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成. Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享. Samba由两个主要程序组成,它们是smbd和nmbd.这两个守护进程在服务

使用LVS实现负载均衡原理及安装配置详解

转:http://www.cnblogs.com/liwei0526vip/p/6370103.html 使用LVS实现负载均衡原理及安装配置详解 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学习 LVS 并对其进行了详细的总结记录. 一.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director

使用 LVS 实现负载均衡原理及安装配置详解

使用 LVS 实现负载均衡原理及安装配置详解 来源:肖邦linux 发布时间:2017-02-19 阅读次数:106 0 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学习 LVS 并对其进行了详细的总结记录. 一.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director Server上,然后它把用