nginx生产环境应用

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/qq_35367612/article/details/86242176

一、基于nginx实现高速缓存

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

在这里插入图片描述

2.实现方式

  • 参数说明
父元素 名称 描述
http proxy_cache_pat 指定缓存区的根
levels 缓存目录层级最高三层,每层1~2个字符表示。如1:1:2 表示三层。
keys_zone 缓存块名称 及内存块大小。如cache_item:500m 。表示声明一个名为cache_item 大小为500m。超出大小后最早的数据将会被清除。
inactive 最长闲置时间 如:10d 如果一个数据被闲置10天将会被清除
max_size 缓存区硬盘最大值。超出闲置数据将会被清除
location proxy_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;
}

猜你喜欢

转载自blog.csdn.net/qq_35367612/article/details/86242176