nginx生产环境应用

一、基于nginx实现高速缓存

1.基于Nginx 静态缓存的解决方案

在这里插入图片描述

2.实现方式
  • 参数说明
父元素名称描述
httpproxy_cache_pat指定缓存区的根
levels缓存目录层级最高三层,每层1~2个字符表示。如1:1:2 表示三层。
keys_zone缓存块名称 及内存块大小。如cache_item:500m 。表示声明一个名为cache_item 大小为500m。超出大小后最早的数据将会被清除。
inactive最长闲置时间 如:10d 如果一个数据被闲置10天将会被清除
max_size缓存区硬盘最大值。超出闲置数据将会被清除
locationproxy_cach指定缓存区,对应keys_zone 中设置的值
proxy_cache_key通过参数拼装缓存key 如:$host $uri $is_args $args 则会以全路径md5值做做为Key
proxy_cache_vali为不同的状态码设置缓存有
  • 在http元素下添加缓存区声明
proxy_cache_path /data/nginx/cache_item levels=1:1:2 keys_zone=cache_item:500m
inactive=30d max_size=10g;//修改此处需要停止服务后重启
  • 为指定location 设定缓存策略
location ~ \.(html)${
	proxy_set_header Host $host;
	proxy_set_header X-Forwarded-For $remote_addr
	proxy_cache cache_item;
	proxy_cache_key $host$uri$is_args$args;#以全路径md5值做做为Key
	proxy_cache_valid 200 304 12h; #对不同的HTTP状态码设置不同的缓存时间
	expires 7d; #总体缓存时间
}
  • 清空缓存,该功能可以采用第三方模块 ngx_cache_purge 实现
  • #下载ngx_cache_purge 模块包 ,这⾥nginx 版本为1.6.2 purge 对应2.0
    wget http://labs.frickle.com/files/ngx_cache_purge-2.0.tar.gz
  • 清除配置
location ~ /purge(/.*) {
	#允许访问的IP
	allow 127.0.0.1;
	allow 192.168.0.193;
	#禁⽌访问的IP
	deny all;
	#配置清除指定缓存区和路径(与proxy_cache_key⼀⾄)
	proxy_cache_purge cache_item $host$1$is_args$args;
}

二、Nginx 实现子域名站点配置

有时会有这样的需求,每个子域名对应一个静态站点(类似58到家、有赞商城等)。如果每天增加一个域名
的会相当麻烦。在nginx 当中可直接基于$host 连接到对应目录。具体配置实现如下:

server {
	listen 80;
	server_name *.tl.com;
	root /data/www/$host;
	access_log logs/$host.access.log;
	location / {
	index index.html;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值