Doraemon

小叮当    2012 - 2023
Doraemon

Choose mode

  • dark
  • auto
  • light
首页
Category
  • 前端开发
  • 后端
  • 数据库
  • 运维
Tag
TimeLine
关于
  • 关于我
Contact
  • GitHub
author-avatar

小叮当

39

Article

25

Tag

首页
Category
  • 前端开发
  • 后端
  • 数据库
  • 运维
Tag
TimeLine
关于
  • 关于我
Contact
  • GitHub

Nginx 开启缓存

小叮当    2012 - 2023

Nginx 开启缓存


小叮当 2020-10-17 Nginx运维

# Nginx 启动 proxy 缓存功能

在 proxy 上编辑主配置文件 vim /etc/nginx/nginx.conf 在 http 模块下添加如下规则:

proxy_cache_path /data/nginx/cache levels=1:1:1 keys_zone=pcache:10m max_size=2g;
1

#指定缓存目为/data/nginx/cache,目录结构为 3 级,每级 16 个子目录,键表名为 pcache 大小为 10m,缓存最大占用空间为 2g,目录需手动创建 定义完缓存参数后,需要在定义的主机上调用缓存 vim /etc/nginx/conf.d/proxy.conf

server {
    listen 80;
    server_name www.test.com;
    index index.php;
    proxy_cache pcache; #调用缓存
    proxy_cache_key $request_uri; #把什么当键
    proxy_cache_methods GET HEAD; #缓存哪些项
    proxy_cache_valid 200 302 10m; #指定200 302响应码的内容缓存10分钟
    proxy_cache_valid 404 1m; #指定404响应码的内容缓存1分钟
    proxy_cache_use_stale http_502; #允许502响应码的内容使用过期缓存
    proxy_set_header X-Real-IP $remote_addr; #将实际的客户端IP发送至后端服务器
    add_header X-Via $server_addr; #将代理服务器的IP发至后端服务器
    location / {
        proxy_pass http://192.168.3.11:80/;
    }
    location ~* \.(png|jpg|jepg|gif|bmp|html)$ {
        proxy_pass http://192.168.3.20:80;
        proxy_set_header X-Real-IP $remote_addr; #将实际的客户端IP发送至后端服务器
        add_header X-Via $server_addr; #将代理服务器的IP发至后端服务器
    }
    location ~* \.php$ {
        proxy_pass http://192.168.3.11:80;
        proxy_set_header X-Real-IP $remote_addr; #将实际的客户端IP发送至后端服务器
        add_header X-Via $server_addr; #将代理服务器的IP发至后端服务器
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

# 用 ab 进行压测,比较开启缓存功能和没有开启缓存

# 1、安装压测工具:httpd-tools

windows 下 ab 的安装和压测 无须安装 apache 服务器,访问下载地址 解压,找到 bin 所在目录,打开命令行即可。

测试命令(拿百度测试):

abs -c 100 -n 2000 https://www.baidu.com/
1

其中有一条返回信息:Requests per second: 71.43 [#/sec] (mean)

可看出每秒 71.43 次的处理量

  • Nginx 启动 proxy 缓存功能
  • 用 ab 进行压测,比较开启缓存功能和没有开启缓存