如何开启Nginx缓存

栏目: 服务器 · Nginx · 发布时间: 6年前

内容简介:众所周知,Nginx是一个高性能的web服务器,尤其在高并发和处理静态页面的时候有先天的优势;很大一部分得益于缓存的开启,那么如何开启nginx的缓存呢。简单来说可以分两步:1.定义缓存存储目录并指定共享内存空间

众所周知,Nginx是一个高性能的web服务器,尤其在高并发和处理静态页面的时候有先天的优势;很大一部分得益于缓存的开启,那么如何开启nginx的缓存呢。

简单来说可以分两步:

1.定义缓存存储目录并指定共享内存空间

2.在location里指定共享内存空间

具体实现如下:

user www;

worker_processes auto;

events {

worker_connections 4096;

}

http {

include mime.types;

default_type application/octet-stream;

sendfile on;

gzip on;

keepalive_timeout 65;

# 以下是缓存相关配置

proxy_cache_path /data/nginx/cache2 levels=1:2 keys_zone=mycache:1024m max_size=2048m inactive=1d ;

server {

listen 80;

server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location /apis/test/img {

proxy_pass http://192.168.1.2/;

# 以下三行是缓存相关配置

proxy_cache mycache;

proxy_cache_valid 200 1d;

proxy_cache_use_stale error timeout invalid_header updating http_500 http_503 http_404;

}

error_page 500 502 503 504 /50x.html;

}

上述配置里cache相关,具体解释如下:

proxy_cache_path:定义缓存目录,需要手动创建此目录;缓存数据存放至此。

/data/nginx/cache2:自定义的缓存目录,缓存中的文件名称是应用MD5的结果;另外,首先是将缓存响应写入临时文件,然后文件才被重命名;

levels=1:2:定义缓存的层次结构级别;这里表示缓存目录的第一级目录是1个字符,第二级目录是2个字符;结构类似:

如何开启Nginx缓存

keys_zone=mycache:1024m:内核中建立的用于缓存数据原数据的共享内存空间;这里存放缓存数据的原数据;查找缓存的时候,先从这个内核空间中找到,缓存数据的原数据,然后再到对应目录中查找缓存;我这里定义的zone名称为‘mycache’;

max_size=2048m:设置缓存空间的最大值;

inactive=1d: 设置缓存的数据保留时间,这里自定义1天内没有被访问过就删除;

proxy_cache:在location里设置内存缓存源数据空间名字,对应我们前面的设定'mycache';

proxy_cache_valid: 可以为不同的响应状态码设置不同的缓存时间,比如这里200状态码,设置为1天;

proxy_cache_use_stale:指定后端服务器出现状况时,nginx可以使用的过期缓存

另外可以设置proxy_cache_key:用来指定缓存所使用的key的组合字符串,然后用md5进行加密。如不指定默认使用:$scheme$proxy_host$request_uri;

下面关于 Nginx 的文章您也可能喜欢,不妨参考下:

CentOS 7下Nginx服务器的安装配置  https://www.linuxidc.com/Linux/2017-04/142986.htm

CentOS上安装Nginx服务器实现虚拟主机和域名重定向  https://www.linuxidc.com/Linux/2017-04/142642.htm

CentOS 6.8 安装LNMP环境(Linux+Nginx+MySQL+PHP)  https://www.linuxidc.com/Linux/2017-04/142880.htm

Linux下安装 PHP 环境并配置Nginx支持php-fpm模块  https://www.linuxidc.com/Linux/2017-05/144333.htm

Nginx服务的SSL认证和htpasswd认证  https://www.linuxidc.com/Linux/2017-04/142478.htm

Ubuntu 16.04上启用加密安全的Nginx Web服务器  https://www.linuxidc.com/Linux/2017-07/145522.htm

Linux中安装配置Nginx及参数详解  https://www.linuxidc.com/Linux/2017-05/143853.htm

Linux下源码安装Nginx(Ubuntu和CentOS通用)  https://www.linuxidc.com/Linux/2018-07/153296.htm

Nginx实现端口转发 https://www.linuxidc.com/Linux/2018-07/153122.htm

使用Nginx+Docker配置HTTPS负载均衡 https://www.linuxidc.com/Linux/2018-06/152855.htm

CentOS 7.2下Nginx+PHP+MySQL+Memcache缓存服务器安装配置  https://www.linuxidc.com/Linux/2017-03/142168.htm

Nginx 的详细介绍 请点这里

Nginx 的下载地址 请点这里

Linux公社的RSS地址: https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2018-08/153370.htm


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Head First HTML5 Programming(中文版)

Head First HTML5 Programming(中文版)

埃里克•弗里曼 (Eric Freeman)、伊丽莎白•罗布森 (Elisabeth Robson) / 中国电力出版社 / 2012-9 / 78.00元

《Head First HTML5 Programming(中文版)》内容简介:你可能想创建具有动态性、交互性、包含丰富数据而且互连的Web页面。先等一下,Web页面?为什么不用HTML5创建成熟的Web应用呢?另外,为什么不使用现代技术,像在移动设备上一样轻松地应用到桌面浏览器呢?当然,你肯定希望使用最新的HTML5技术来完成,比如地理定位、视频、2D绘制、Web存储、Web工作线程等,是不是?......一起来看看 《Head First HTML5 Programming(中文版)》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具