如何用Nginx实现对静态网页的本地缓存

在讲到如何加速大规模网站速度时,缓存一定是首当其冲的办法,例如加上CDN、Redis、主从分离等办法。一般在大规模系统中,客户会采用动静分离的办法进行本地的缓存加速。今天我们讲讲客户经常会采用Nginx进行网页加速的配置办法。

一、首先说说加速的原理

用户通过反向代理服务器访问网站,反向代理服务器根据负载均衡策略向真实的服务器发起访问请求并将结果返回给客户。在返回给客户的同时,将静态内容缓存在本地,当其它客户发起同样的需求时,将本地缓存的结果返回给客户,不会再继续将请求传递给真实的服务器。

二、反向代理服务器Nginx的配置办法

1、LVS负载均衡的配置办法详见前面的文章,不再详述。

2、在反向代理服务器ngin.conf进行配置

[root@ecs-maxing1 7d]# vim /usr/local/webserver/nginx/conf/nginx.conf

在http段中增加以下代码

proxy_cache_path /data/nginx/cache_item levels=1:2 keys_zone=cache_item:10m max_size=1000g inactive=7d;

在 location / {中增加以下代码

proxy_cache cache_item;

proxy_cache_valid 200 206 304 301 302 10d;

proxy_cache_key $uri;

proxy_set_header Host $host:$server_port;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

3、检查配置是否成功

[root@ecs-maxing1 7d]# /usr/local/webserver/nginx/sbin/nginx -t

nginx: the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/webserver/nginx/conf/nginx.conf test is successful

三、反向代理服务器Nginx的缓存目录新建

mkdir /data/nginx/cache_item

四、验证结果

1、重启nginx

./nginx -s stop

./nginx

2、从客户端进行业务访问

我发现不管我怎么刷新,永远不再出现webServer2,应该是缓存生效了。

3、验证将真实服务器关闭服务,是否影响业务

在webServer1、webServer2关闭Nginx服务

./nginx - stop

关闭后仍然业务不会中断。

4、验证服务器的缓存目录中是否有文件存在

我们发现缓存文件已存在。

原文发布于微信公众号 - 信息化漫谈(gh_cfbdbd8457f4)

原文发表时间:2019-05-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券