17.缓存设置
http{
proxy_temp_path /data/proxy; #和proxy_cache_path 必须在同一分区
proxy_cache_path /data/proxy_cache levels=1:2 kesys_zone=cache_one:200m inactive=1d max_size=30g;
#名称cache_one 2级目录 一天没访问则删除 缓存空间大小 200m 硬盘大小 30g
}
location ~ .*\.(gif|jpg|jpeg.....)$
{
proxy_cache cache_one; #缓存区名称
proxy_cache_valid 200 304 12h; 过期时间
proxy_cache_valid any 1m;
proxy_cache_key $host#uri$is_args$args
..........
}
#清楚缓存
location ~ /purge(/.*)
{
deny all;
proxy_cache_purge cache_one $host#uri$is_args$args
}
18.location 匹配规则
19.限速
location /flv/ {
limit_rate_after 500k; 500kb后限速
limit_rate 50k; 速度
}
20.sendfile
简单说,sendfile是个比 read 和 write 更高性能的系统接口, 不过需要注意的是,sendfile 是将 in_fd 的内容发送到 out_fd 。而 in_fd 不能是 socket , 也就是只能文件句柄。 所以当 Nginx 是一个静态文件服务器的时候,开启 SENDFILE 配置项能大大提高 Nginx 的性能。 但是当 Nginx 是作为一个反向代理来使用的时候,SENDFILE 则没什么用了,因为 Nginx 是反向代理的时候。 in_fd 就不是文件句柄而是 socket,此时就不符合 sendfile 函数的参数要求了。
21.路径映射
location /i/ {
alias /spool/w3/images;
}
# 实际访问 /i/alias /spool/w3/images下的文件
22.是否显示ngxin的版本号
server_token off
23.简单防盗链
location /photos/ {
valid_referers none blocked wwww.domain.com dev.domain.com;
if($invalid_referer){
return 403;
}
}
24.单个id连接数限制
http{
limit_conn_zone $binary_remote_addr zone=addr:10m
}
server{
limit_conn one 100
}