Nginx简易配置文件(三)(文件缓存)
server {
listen 80;
listen 443 ssl;
server_name user.17.net userapi.17.net;
access_log logs/user/access.log main;
error_log logs/user/error.log;
ssl_certificate /usr/local/nginx/ssl/17track.crt;
ssl_certificate_key /usr/local/nginx/ssl/17track.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_protocols SSLv3 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM;
ssl_prefer_server_ciphers on;
location / {
# if ( $scheme ~* ^http$ ) {
# rewrite ^(/.*)$ https://$host$1 break;
# }
if ( $host ~* ^user\. ) {
proxy_pass http://cluster_user;
}
if ( $host ~* ^userapi\. ) {
proxy_pass http://cluster_userapi;
}
set $no_cache '';
set $cache_key '';
access_by_lua "
ngx.var.no_cache = '0'
ngx.var.cache_key=ngx.var.host ..ngx.var.uri
if string.find(ngx.var.uri, '^/res/') then
local newargs=ngx.var.args
if not newargs then
newargs=''
end
ngx.var.cache_key=ngx.var.host ..ngx.var.uri ..ngx.var.is_args ..newargs
end
if ngx.var.http_accept_encoding == nil then
local newargs1=ngx.var.args
local newargs2='/ungzip'
ngx.var.cache_key=ngx.var.host ..ngx.var.uri ..newargs2
if string.find(ngx.var.uri, '^/res/') then
if not newargs1 then
newargs1=''
end
ngx.var.cache_key=ngx.var.host ..ngx.var.uri ..ngx.var.is_args ..newargs1 ..newargs2
end
end
";
header_filter_by_lua "
if ngx.status ~= 200 then
ngx.var.no_cache = '1'
end
";
proxy_cache_key $cache_key;
proxy_cache_bypass $no_cache;
proxy_no_cache $no_cache;
proxy_cache cache_one;
proxy_cache_valid 200 304 10m;
proxy_cache_valid 301 302 1m;
proxy_cache_valid any 1m;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
add_header Nginx-Cache $upstream_cache_status;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
Nginx简易配置文件(三)(文件缓存)的更多相关文章
- nginx实现动态/静态文件缓存(week4_day1_part2)-技术流ken
nginx实现静态文件缓存实战 1.nginx静态文件缓存 如果要熟练使用nginx来实现文件的缓存,那下面的几个指令你必须要牢记于心 指令1:proxy_cache_path 作用:设置缓存数据的相 ...
- Nginx简易配置文件(二)(反向代理)
user nobody nobody; worker_processes 4; error_log logs/error.log; pid logs/nginx.pid; events { use e ...
- Nginx简易配置文件(一)(静态页面及PHP页面解析)
user nobody nobody; worker_processes 4; error_log logs/error.log; pid logs/nginx.pid; events { use e ...
- nginx vhosts rewrite 独立文件的方式出现
[root@web01 /]# cat /app/server/nginx/conf/nginx.conf user www www; worker_processes ; error_log /ap ...
- docker+fastdfs+nginx 实现分布式大文件存储系统以及视频缓存播放
废话不多说,直接开撸 首先是一些准备工作: 1.关闭防火墙 service iptables stop --- fastdfs虽然在docker部署,但是使用的是主机网络,所以关闭防火墙. 2 下载 ...
- nginx静态文件缓存的解决方案
nginx的一大功能就是完成静态资源的分离部署,减轻后端服务器的压力,如果给这些静态资源再加一级nginx的缓存,可以进一步提升访问效率. 第一步:添加nginx.conf的http级别的缓存配置 # ...
- 高性能Web服务器Nginx的配置与部署研究(12)应用模块之Memcached做文件缓存时压缩引起的问题
在上一篇文章中,提到的Nginx的Memcached模块应用场景,主要是作为文件缓存.然后就发现了一个问题,当以字节数组方式缓存较大的文件时,缓存数据会被压缩,从而在读取的时候出现问题. (本文欢迎转 ...
- Linux服务之nginx服务篇五(静态/动态文件缓存)
一.nginx实现静态文件缓存实战 1.nginx静态文件缓存 如果要熟练使用nginx来实现文件的缓存,那下面的几个指令你必须要牢记于心 (1)指令1:proxy_cache_path 作用:设置缓 ...
- 01_Nginx安装,nginx下部署项目,nginx.conf配置文件修改,相关文件配置
1.下载Nginx,进入Nginx下载地址:http://nginx.org/ 点击nginx-1.8.0,进入:http://nginx.org/en/download.html,下载文件: ...
随机推荐
- TCP流量控制与拥塞控制
为了更好地对传输层进行拥塞控制,因特网建议标准定义了以下四种算法:慢启动.拥塞避免.快重传和快恢复. 1 接收窗口rwnd与拥塞窗口cwnd 发送方在确定发送报文段的速率时,既要根据接收方的接收能力, ...
- C# CompareTo 和 String.Compare
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- [转载]java之yield(),sleep(),wait()区别详解
原文地址:http://dylanxu.iteye.com/blog/1322066 1.sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁 ...
- Ubuntu上通过nginx部署Django笔记
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式.今天在Ubuntu上使用Nginx部署Django服务,虽然不是第一次搞这个了,但是发现还是跳进了好多坑,g ...
- mybatis配置-返回date类型丢失时间
此博客仅作于平时开发所遇到的问题记录,不做他用,描述可能不好,自己看懂即可~~ resultMap配置返回时间类型时,发现数据库时间是精确到秒的,但是返回给javabean之后丢失时分秒的信息,只有日 ...
- nodejs处理get请求
主要记录下获取get请求里面的参数的问题. 假设有这样一个链接 urlString='hello?name=LiLei&position=general' 要从这个链接里提取出参数name和p ...
- 【php+mysql】博客分页制作思路
1.首先需要初始化设置每页显示的文章数$page_size,mysql数据库中总的文章数$arc_size,页面数$page 2.利用分页公式 (当前页数 - 1 )X 每页条数 , 每页条数Sele ...
- Java程序生成exe可执行文件详细教程(图文说明)
ava程序打包成exe可执行文件,分为两大步骤. 第一步:将Java程序通过Eclipse或者Myeclipse导成Jar包 第二步:通过exe4j讲Jar包程序生成exe可执行文件 第一步详解: 将 ...
- 天河2号荣膺第41届TOP500榜首
国际TOP500组织在6月17日公布最新全球超级计算机500强榜单,由中国国防科技大学研制的“天河二号”以每秒33.86千万亿次的浮点运算速度成为全球最快的超级计算机. 天河2号(又称银河2号),将在 ...
- MIT研发的新型匿名网络Riffle,下一个Tor
现在的隐私问题是一个网络热词,如果你担心你上网的隐私会泄露,最有效的解决办法就是使用Tor.这款免费的匿名通信软件,能够让人们在与其他人通信时隐藏自己真实的信息. 虽然Tor是一个很好的匿名网络系统, ...