Nginx缓存配置(简易实现CDN功能)
环境推荐使用openresty,自带了挺多模块的,如果直接使用nginx,需要对缺少的模块进行添加,添加教程参照百度或者OpenResty教程
1、本地站点ETag缓存
示范开启静态文件缓存
环境:
nginx -v
nginx version: openresty/1.15.8.3
(该版本Nginx原生有ETag,默认启用了,如果没有需要对ETag模块进行添加,添加后使用etag on;命令开启)
server {listen 80;server_name localhost;#....其他配置删除了location / {root html;index index.html index.htm;}location ~ .*\.(js|css|gif|jpg|jpeg|png|bmp|swf|flv|html|htm)$ {expires 1d;#缓存一天过期}}
第一次请求时花费37ms
内容未变的情况下后续访问请求响应的状态码会是304(无更改)花费19ms
2、对反向代理开启缓存
2.1nginx.conf中http模块加入如下代码定义一个缓存策略
#-----------------nginx cache configure start
proxy_cache_path /ngx_cache levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=30d use_temp_path=on;
proxy_temp_path /ngx_cache/temp;#临时目录
proxy_cache_key $host$request_uri;#缓存的KEY
#-----------------nginx cache configure end
2.2定义一个反代所需upstream和server
upstream fpa.cn {server 127.0.0.1:81;}server {listen 81;root html;}
2.3将80端口对上面的服务器进行反代设置
server {listen 80;server_name localhost;charset utf-8;#access_log logs/host.access.log main;location / {root html;index index.html index.htm;proxy_pass http://fpa.cn;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
2.4对反代的请求中的静态文件使用缓存
server {listen 80;server_name localhost;charset utf-8;#access_log logs/host.access.log main;location / {root html;index index.html index.htm;proxy_pass http://fpa.cn;}location ~ .*\.(js|css|gif|jpg|jpeg|png|bmp|swf|flv|html|htm)$ {#proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;#对error等允许使用过期缓存进行返回proxy_cache my_cache;#指定使用my_cache这个缓存配置proxy_cache_key $host$uri$is_args$args;#设置缓存的key(在缓存的文件里开头有KEY:值)proxy_cache_valid 1d;#缓存有效期1天#proxy_ignore_headers Cache-Control;#开启后忽略不允许缓存add_header X-Cache $upstream_cache_status;#将缓存是否命中的结果返回add_header X-Via $server_addr;#将缓存服务器IP返回proxy_pass http://fpa.cn;#反代}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
效果图:
进入配置的缓存目录查看,该页面已被缓存
Nginx缓存配置(简易实现CDN功能)相关推荐
- nginx缓存配置及开启gzip压缩
一:nginx缓存配置 在前一篇文章,我们理解过http缓存相关的知识点, 请看这篇文章. 今天我们来学习下使用nginx服务来配置缓存的相关的知识. nginx配置缓存的优点:可以在一定程度上,减少 ...
- nginx默认html缓存,nginx缓存配置
今天试了一下nginx缓存配置,说到缓存相信大家应该都不陌生,也就是把访问后端web服务器的静态请求缓存到本地文件系统一个目录,后端一般是apache服务器居多!当前这两台机器完全可以在一台服务器上, ...
- React 前端 Nginx 缓存配置
React 前端 Nginx 缓存配置 最新开发钉钉微应用,上线后发现 2 个问题: 1.每次更新后,需要用户手动刷新获取最新的 HTML 和最新的 js,经常被客户吐槽为什么 bug 还没改,其实早 ...
- ASP.NET Core 缓存技术 及 Nginx 缓存配置
前言 在Asp.Net Core Nginx部署一文中,主要是讲述的如何利用Nginx来实现应用程序的部署,使用Nginx来部署主要有两大好处,第一是利用Nginx的负载均衡功能,第二是使用Nginx ...
- Nginx缓存配置教程
问题引出 假设某电商平台商品详情页需要实现 700 QPS(假设宽带是千兆宽带) 千M局域网宽带网卡速率按照1000进位,所以1Gbps=1,000,000,000bps=125,000,000Bps ...
- nginx 缓存配置及报错解决
研究了2天的nginx缓存 出现各种报错 我把配置文件修改过后还是报错 1 2 3 4 5 6 7 location ~ /purge(/.*) { ...
- Nginx——缓存配置
缓存配置 对于一个含有大量内容的网站来说,随着访问量的增多,对于经常被用户访问的内容,若每一次都要到后端服务器中获取,会给服务器造成很大的压力.为此,利用反向代理服务器对访问频率较多的内容进行缓存,有 ...
- nginx 缓存配置详解都是干货
一.缓存类型 1.服务端缓存 2.代理缓存 3.客户端缓存 4.代理缓存的工作流程: 二.代理缓存配置语法 1.代理缓存路径 配置语法 Syntax: proxy_cache_path path [l ...
- 性能测试中间件Nginx缓存配置
缓存配置 在解决高并发性能问题时,缓存是其中的一种手段.本文简单介绍nginx缓存的配置方法,详细可以参考nginx官方文档 我的nginx配置如下 # 设置缓存内容 proxy_cache_path ...
最新文章
- 日本机器人实力大盘点,和Atlas的高调刷屏相比,日本机器人的默默崛起更让人忌惮...
- 英特尔10纳米处理器再度跳票,或收缩芯片代工业务
- 【Groovy】集合遍历 ( 使用集合的 findAll 方法查找集合中符合匹配条件的所有元素 | 代码示例 )
- 【CyberSecurityLearning 60】ACCESS数据库的注入+ACCESS数据库的cookie注入
- MyBatis笔记——EhCache二级缓存
- mysql 提高事物效率_怎么提高向mysql中插入数据的效率-问答-阿里云开发者社区-阿里云...
- CodeForces - 1529F It‘s a bird! No, it‘s a plane! No, it‘s AaParsa!(最短路+思维建图)
- Springboot微服务开发教程系列:开发入门
- mysql去重取最大值,逻辑类似oracle的over(partition by)函数
- 条令考试小程序辅助器_应知应会|条令纲要学习微课堂(六)
- RGB转换cv::Mat
- inter无线网卡服务器版驱动,intel无线网卡驱动程序官方版
- CP2102 USB转串口驱动下载
- 谢烟客-----计算机基础
- 靖哥哥教你如何在docker中安装mysql
- 自动向你的宝马车播放捷豹广告,这家公司要做高速公路上的“分众”
- 借助小程序云开发实现小程序的登陆注册功能
- 华为手机如何安装google play, chrome等
- 【CSS 教程系列第 3 篇】CSS 如何添加注释
- jQuery练习_QQ音乐播放器