如何用Nginx实现对静态网页的本地缓存 - Go语言中文社区

如何用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、验证服务器的缓存目录中是否有文件存在

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

希望以上文章能帮到您。

更多内容实时更新,请访问公众号。    

 

点击这里,获取最高¥1888阿里云产品通用代金券

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_29718979/article/details/90544517
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 23:17:31
  • 阅读 ( 982 )
  • 分类:Go Web框架

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢