内容简介:众所周知,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个字符;结构类似:
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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Release It!
Michael T. Nygard / Pragmatic Bookshelf / 2007-03-30 / USD 34.95
“Feature complete” is not the same as “production ready.” Whether it’s in Java, .NET, or Ruby on Rails, getting your application ready to ship is only half the battle. Did you design your system to......一起来看看 《Release It!》 这本书的介绍吧!