linux nginx 缓存服务器,如何开启Nginx缓存

众所周知,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个字符;结构类似:

07fda7c727f8f8f55876849037e95a0d.png

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的文章您也可能喜欢,不妨参考下:

Nginx 的详细介绍:请点这里

Nginx 的下载地址:请点这里

0b1331709591d260c1c78e86d0c51c18.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在im4java中使用GraphicsMagick

1.定义操作和命令GMOperation op new GMOperation();GraphicsMagickCmd cmd new GraphicsMagickCmd("convert"); //convert说明你要做的是convert里面的操作或ConvertCmd cmd new ConvertCmd(true); //true说明你要用的是gm工具 2.缩放的参数说明op.resize(int wi…

linux 分步编译命令,GCC分步编译C++程序(汇总版)

通过前面几节的讲解,已经就 gcc(g)指令可用的 -E、-S、-c 以及 -o 选项的功能和用法做了详细的讲解。在此基础上,本节将对“如何分步编译C/C程序”这个问题做一个完整的解答。接下来,我将以 g 指令分别对 C 源程序做预处理、编译、汇编和链接…

linux 安装u盘软件,Universal USB Installer:帮你用U盘装Linux

近期,Linux系统U盘制作安装工具:Universal USB Installer迎来了v1.9.5.1版本,新版支持了OpenSuse 32/64bit系统平台,欢迎Linux桌面爱好者下载使用。Universal USB Installer工具,类似一款U盘制作工具,允许用…

lucene 高亮显示

原文地址: http://blog.csdn.net/javaman_chen/article/details/8224407 Lucene针对高亮显示功能提供了两种实现方式,分别是Highlighter和FastVectorHighlighter。 顾名思义,FastVectorHighlighter较Highlighter速度更快,功能也更强大&…

linux rsync 安装教程,linux下的rsync配置和使用教程

本试验的测试环境使用的系统是Redhat AS4(2台,一个服务端,一个客户端)rsync服务端的ip:192.168.23.102rsync客户端的ip:192.168.23.100-------&am…

u盘 轻量linux,3种方法来创建轻量、持久化的Xubuntu Linux USB系统盘

使用Universal USB Install创建持久化USB XUbuntu系统盘这个教程为你介绍如何使用Xubuntu Linux创建一个轻量并且持久化的Linux USB系统盘。译者注:持久化Linux USB系统盘(Persistent Linux USB drive),安装在优盘的Linux系统,允许用户保存数…

linux u盘加载阵列卡驱动步骤,Linux U盘加载阵列卡驱动步骤

如果没有Linux的机器,可以使用安装光盘的Linux环境:将 U 盘完全慢速格式化,将驱动拷贝到U盘,将U盘插在服务器上,用Linux安装光盘第一张启动到图形安装界面,按Ctrl+Alt+F2切换到控制台。按F11调用…

linux 笔记本键盘灯驱动程序,安装和使用CKB Next在Linux上更改Corsair键盘背光设置...

本文介绍在Ubuntu、Debian、Arch Linux、Fedora、OpenSUSE系统下安装和使用CKB Next的方法,以在Linux系统上更改Corsair键盘背光设置。Corsair键盘非常适合在PC上进行游戏,特别是在夜间,因为它们具有出色的RGB背光功能,用户可以轻…

15.6.6-sql字符串组装技巧

组装sql字符串,丢给exec sp_executesql执行 exec sp_executesql Nexec sp_executesql Nselect * from TESTTEST.dbo.Employees where Titletitle, Ntitle varchar(30), titleEmployee 注意:这里是执行一个带有输入参数的sql语句,用两层exec s…

c++ linux 环境,C++ 环境设置

C 环境设置本地环境设置如果您想要设置 C 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C 编译器。文本编辑器这将用于输入您的程序。文本编辑器包括 Windows Notepad、OS Edit command、Brief、Epsilon、EMACS 和 vim/vi。文本编辑器的…

linux内核udp校验和计算函数,Linux 内核IP和UDP检验和计算

IP checksuma.接收报文struct iphdr *iph ip_hdr(skb);if (unlikely(ip_fast_csum((u8 *)iph, iph->ihl)))goto checksum_error;b.发送报文ip_send_check(iph);{iph->check 0;iph->check ip_fast_csum((unsigned char *)iph, iph->ihl);}UDP checksu…

各种类型的转换

int.parse() float.parase() double.parse()这些都可以把字符串类型转换为数值类型 **.ToString();把各种类型转换为字符串类型 (int)**代表类型之间的转换有显示转换,也有隐形转换,这种只限于数值之间的转换,即想转换…

stol函数在linux下使用,Linux下ATT汇编语法简介一

这显得很古怪,不过在gcc知道程序员拿这些寄存器做些什么后,这确实能够对gcc的优化操作有所帮助。表5-3中是一些可能会用到的寄存器加载代码及其具体的含义。表5-3 常用寄存器加载代码说明代 码说 明代 码说 明a使用寄存器eaxm使用内存地址b使用寄存器ebx…

linux安装pgsql源码包解压,在Linux(centos)中使用源码安装pgRouting

目录一、解压pgRouting二、配置PostgreSQL的环境变量三、编译源代码四、测试由于pgRouting依赖于PostGIS和PostgreSQL,所以阅读本文之前,务必请先阅读:Linux(centos)中使用源码安装PostgreSQLLinux(centos)中使用源码安装PostGIS按照以上文章…

clientX和clientY属性需要注意的地方

clientX和clientY为可视区鼠标的位置。 1. 随鼠标移动的div块[runjs] 当document有多个页面时,会出现问题。[runjs] 2. 解决方案:scrollTop, scrollLeft 需要注意scrollTop/scrollLeft的兼容性获取; scrollTop document.documentElement.scr…

Android无线测试之—UiAutomator UiObject API介绍二

点击与长按 一、组件区域位置关系 Rect 对象代表一个矩形区域 [Left,Top] [Right,Bottom] 二、点击与长按API 返回值API描述booleanclick()点击对象booleanclickAndWaitForNewWindow(lang timeout)点击对象,等待新窗口出现,参数为等待超长时间booleancli…

linux系统存储文件系统,Linux文件系统的深入分析

【IT168 技术】本人很喜欢Linux,在工作中也很喜欢总结关于Linux文件系统的经验,下面就这个问题来详细说说吧。Linux支持多种文件系统,包括ext2、iso9660、jffs、ext3、vfat、ntfs、romfs和nfs等,为了对各类文件系统进行统一管理&a…

Path Sum I, II

简单题 I Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum. For example:Given the below binary tree and sum 22, 5/ \4 8/ / \11 13 4/ \ \7 2 …

【Python】进程和多进程的使用

原文作者:我辈李想 版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。 文章目录 前言一、进程1.概念理解2.进程的启动3.python进程 二、多进程 前言 进程是指计算机中正在运行的程序实例。 进程可以是操作系统分配的&#…

linux 设置dns缓存周期,如何解决DNS缓存时间问题

理想情况下,各地DNS的缓存时间即为设置的ttl时间,所以可以通过设置ttl时间来控制DNS缓存的时间。ttl时间设置的短,DNS缓存过期快,在机器故障的时候很快切换,对用户的影响小;但是由于ttl设置的太短&#xff…