php 清除nginx缓存文件夹,Nginx配置缓存服务器及缓存清除

环境介绍:当前系统Centos7.5,nginx版本1.14.0,ngx_cache_purge(清理nginx缓存的一个插件)模块版本2.3,当前IP192.168.50.101

1、下载解压ngx_cache_purge模块

cd /usr/local/src

wget https://github.com/FRiCKLE/ngx_cache_purge/archive/2.3.tar.gz

tar zxf 2.3.tar.gz

1

2

3

cd/usr/local/src

wgethttps://github.com/FRiCKLE/ngx_cache_purge/archive/2.3.tar.gz

tarzxf2.3.tar.gz

2、下载解压nginx

wget http://nginx.org/download/nginx-1.14.0.tar.gz

tar zxf nginx-1.14.0.tar.gz

1

2

wgethttp://nginx.org/download/nginx-1.14.0.tar.gz

tarzxfnginx-1.14.0.tar.gz

3、创建nginx启动用户并安装所需依赖

useradd -s /bin/false -M www

yum install gcc gcc-c++ pcre pcre-devel openssl openssl-devel zlib zlib-devel

1

2

useradd-s/bin/false-Mwww

yuminstallgccgcc-c++pcrepcre-developensslopenssl-develzlibzlib-devel

4、正式编译nginx

cd nginx-1.14.0

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --add-module=../ngx_cache_purge-2.3

make

make install

1

2

3

4

cdnginx-1.14.0

./configure--user=www--group=www--prefix=/usr/local/nginx--with-http_stub_status_module--with-http_ssl_module--with-http_v2_module--with-http_gzip_static_module--with-http_sub_module--add-module=../ngx_cache_purge-2.3

make

makeinstall

5、设置systemctl

ln -sv /usr/local/nginx/sbin/nginx /usr/local/sbin/

1

ln-sv/usr/local/nginx/sbin/nginx/usr/local/sbin/

vi /usr/lib/systemd/system/nginx.service

1

vi/usr/lib/systemd/system/nginx.service

[Unit]

Description=nginx

After=network.target

[Service]

Type=forking

PIDFile=/usr/local/nginx/logs/nginx.pid

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/usr/local/nginx/sbin/nginx -s stop

PrivateTmp=true

[Install]

WantedBy=multi-user.target

1

2

3

4

5

6

7

8

9

10

11

12

[Unit]

Description=nginx

After=network.target

[Service]

Type=forking

PIDFile=/usr/local/nginx/logs/nginx.pid

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx-sreload

ExecStop=/usr/local/nginx/sbin/nginx-sstop

PrivateTmp=true

[Install]

WantedBy=multi-user.target

6、启动nginx并设置开机自启

systemctl start nginx

systemctl enable nginx

1

2

systemctlstartnginx

systemctlenablenginx

7、创建一个用于缓存的目录

mkdir -p /data/ngx_cache

1

mkdir-p/data/ngx_cache

8、创建一个主页文件以便后续演示用

vi /data/index.html

1

vi/data/index.html

9、配置nginx缓存

nginx缓存服务器的配置主要是通过proxy_cache相关命令来实现的,我这里只给出缓存相关的配置,其他参数不做说明。

在nginx.conf配置以下内容

http {

......

proxy_cache_path /data/ngx_cache levels=1:2 keys_zone=whsir_com:10m max_size=10g inactive=60m use_temp_path=off;

......

server {

listen 8080;

server_name 127.0.0.1;

root /data/;

}

server {

......

listen 80;

server_name 192.168.50.101;

location / {

proxy_cache whsir_com;

proxy_cache_valid 200 302 304 60m;

proxy_cache_key $host$uri$is_args$args;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $remote_addr;

proxy_pass http://127.0.0.1:8080;

expires 3d;

}

location ~ /purge(/.*) {

allow 127.0.0.1;

allow 192.168.50.0/24;

deny all;

proxy_cache_purge whsir_com $host$1$is_args$args;

}

location ~ .*\.(jsp|php)?$ {

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $remote_addr;

proxy_pass http://127.0.0.1:8080;

}

......

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

http{

......

proxy_cache_path/data/ngx_cachelevels=1:2keys_zone=whsir_com:10mmax_size=10ginactive=60muse_temp_path=off;

......

server{

listen8080;

server_name127.0.0.1;

root/data/;

}

server{

......

listen80;

server_name192.168.50.101;

location/{

proxy_cachewhsir_com;

proxy_cache_valid20030230460m;

proxy_cache_key$host$uri$is_args$args;

proxy_set_headerHost$host;

proxy_set_headerX-Forwarded-For$remote_addr;

proxy_passhttp://127.0.0.1:8080;

expires3d;

}

location~/purge(/.*){

allow127.0.0.1;

allow192.168.50.0/24;

denyall;

proxy_cache_purgewhsir_com$host$1$is_args$args;

}

location~.*\.(jsp|php)?${

proxy_set_headerHost$host;

proxy_set_headerX-Forwarded-For$remote_addr;

proxy_passhttp://127.0.0.1:8080;

}

......

}

}

10、一些参数解释

针对缓存部分,这里做一些参数的解释

proxy_cache_path:定义缓存存储位置

levels=1:2:设置缓存目录深度,最多能创建3层。

keys_zone=my_cache:10m:定义缓存区域名称和内存缓存空间大小。

max_size=10g:磁盘缓存空间最大使用值,达到配额后删除最少使用的缓存文件。

inactive=60m:设置缓存时间,60分钟内没有被访问过就删除。

use_temp_path=off:不使用temp_path指定的临时存储路径,直接将缓存文件写入指定的cache文件中,建议off。

1

2

3

4

5

6

proxy_cache_path:定义缓存存储位置

levels=1:2:设置缓存目录深度,最多能创建3层。

keys_zone=my_cache:10m:定义缓存区域名称和内存缓存空间大小。

max_size=10g:磁盘缓存空间最大使用值,达到配额后删除最少使用的缓存文件。

inactive=60m:设置缓存时间,60分钟内没有被访问过就删除。

use_temp_path=off:不使用temp_path指定的临时存储路径,直接将缓存文件写入指定的cache文件中,建议off。

proxy_cache my_cache:缓存区域名称,要和keys_zone定义的名称一致

proxy_cache_valid 200 302 304 60m:设置状态码为200 302 304过期时间为60分钟

proxy_cache_key $host$uri$is_args$args:设置缓存的key,这里是以域名、URI、参数组成web缓存的key值,根据key值哈希存储缓存内容到二级缓存目录内

expires 3d:缓存时间3天

1

2

3

4

proxy_cachemy_cache:缓存区域名称,要和keys_zone定义的名称一致

proxy_cache_valid20030230460m:设置状态码为200302304过期时间为60分钟

proxy_cache_key$host$uri$is_args$args:设置缓存的key,这里是以域名、URI、参数组成web缓存的key值,根据key值哈希存储缓存内容到二级缓存目录内

expires3d:缓存时间3天

location ~ /purge(/.*) :用于手动清除缓存,allow表示只允许指定的IP才可以清除URL缓存

location ~ .*\.(jsp|php)?$:扩展名以jsp或php结尾的不做缓存

1

2

location~/purge(/.*):用于手动清除缓存,allow表示只允许指定的IP才可以清除URL缓存

location~.*\.(jsp|php)?$:扩展名以jsp或php结尾的不做缓存

11、实践

缓存参数已经配置完成了,保存退出,nginx -t检查无误后,重启nginx

访问http://192.168.50.101/看到的内容就是我们在index.html所设置的内容

此时文件已经缓存到磁盘

ll /data/ngx_cache/a/ae/adfb876fc186a57f12a0b158220f9aea

接下来我们来清除缓存,只需要在清除缓存网页的URI地址前加上purge即可

http://192.168.50.101/purge/

4a18ecff2246c7a12593d607469add98.gif

此时可以看到刚刚缓存的内容已经被清除

再举个例子:

想要清除http://192.168.50.101/abc/123.html,就访问http://192.168.50.101/purge/abc/123.html

4a18ecff2246c7a12593d607469add98.gif

~微信打赏~

分享到:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值