Nginx实现缓存

目录

资源列表

基础环境

关闭防火墙

关闭内核安全机制

修改主机名

一、安装httpd

二、安装nginx

准备nginx源

配置nginx

启动

部分页面不缓存(可选)

测试

在client节点请求nginx

关闭httpd请求nginx


        本文详细记录了nginx实现缓存的配置步骤,nginx是一个非常优秀的web服务,同时还具有正向代理,反向代理,负载均衡以及缓存等功能。

资源列表

操作系统 配置 主机名 IP
CentOS7.3.1611 2C4G nginx 192.168.207.131
CentOS7.3.1611 2C4G httpd 192.168.207.165
CentOS7.3.1611 2C4G client 192.168.207.166

基础环境

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

关闭内核安全机制

setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config

修改主机名

hostnamectl set-hostname nginx
hostnamectl set-hostname httpd
hostnamectl set-hostname client

一、安装httpd

yum -y install httpd
echo httpd > /var/www/html/index.html
systemctl start httpd

二、安装nginx

准备nginx源

cat > /etc/yum.repos.d/nginx.repo << 'EOF'
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
EOF
​
yum -y install nginx

配置nginx

# 在/etc/nginx/nginx.conf的http段中添加
upstream node {
    server 192.168.207.166:80;
}
proxy_cache_path /cache levels=1:2 keys_zone=cache:10m max_size=10g inactive=60m use_temp_path=off;
​
# 在/etc/nginx/conf.d/default.conf的server段下的 location / 中添加
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        proxy_pass http://node;
        proxy_cache cache;
        proxy_cache_valid   200 304 12h;
        proxy_cache_valid   any 10m;
        add_header  Nginx-Cache "$upstream_cache_status";
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
    }
  • 配置详解

proxy_cache_path /cache levels=1:2 keys_zone=cache:10m max_size=10g inactive=60m use_temp_path=off;
    #proxy_cache    //存放缓存临时文件
    #levels         //按照两层目录分级
    #keys_zone      //开辟空间名,10m:开辟空间大小,1m可存放8000key
    #max_size       //控制最大大小,超过后Nginx会启用淘汰规则
    #inactive       //60分钟没有被访问缓存会被清理
    #use_temp_path  //临时文件,会影响性能,建议关闭
    
proxy_cache cache;
proxy_cache_valid   200 304 12h;
proxy_cache_valid   any 10m;
add_header  Nginx-Cache "$upstream_cache_status";
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
    #proxy_cache            //开启缓存
    #proxy_cache_valid      //状态码200|304的过期为12h,其余状态码10分钟过期
    #proxy_cache_key        //缓存key
    #add_header             //增加头信息,观察客户端respoce是否命中
    #proxy_next_upstream    //出现502-504或错误,会跳过此台服务器访问下一台服务器

启动

nginx -t
​
systemctl start nginx

部分页面不缓存(可选)

if ($request_uri ~ ^/(static|login|register|password)) {
    set $cookie_nocache 1;
}
location / {
    proxy_pass http://node;
    proxy_cache     cache;
    proxy_cache_valid       200 304 12h;
    proxy_cache_valid       any     10m;
    add_header      Nginx-Cache     "$upstream_cache_status";
    proxy_next_upstream     error timeout invalid_header http_500 http_502 http_503 http_504;
    proxy_no_cache $cookie_nocache $arg_nocache $arg_comment;
    proxy_no_cache $http_pargma $http_authorization;
}

测试

在client节点请求nginx

curl 192.168.207.131
httpd

关闭httpd请求nginx

curl 192.168.207.131
httpd

相关推荐

  1. Nginx实现缓存

    2024-06-08 02:58:04       31 阅读
  2. 使用nginx的proxy_cache实现静态资源的缓存

    2024-06-08 02:58:04       56 阅读
  3. Nginx之Openresty缓存解读

    2024-06-08 02:58:04       60 阅读
  4. Nginx 禁用静态文件缓存

    2024-06-08 02:58:04       54 阅读
  5. nginx配置缓存静态资源

    2024-06-08 02:58:04       44 阅读
  6. nginx如何清理页面缓存

    2024-06-08 02:58:04       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-08 02:58:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-08 02:58:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-08 02:58:04       82 阅读
  4. Python语言-面向对象

    2024-06-08 02:58:04       91 阅读

热门阅读

  1. c# 身份证信息验证

    2024-06-08 02:58:04       23 阅读
  2. oracle常用经典SQL查询

    2024-06-08 02:58:04       26 阅读
  3. 理论学习-自动控制

    2024-06-08 02:58:04       25 阅读
  4. Python笔记 - generator方法

    2024-06-08 02:58:04       34 阅读
  5. Elixir学习笔记——模块和函数

    2024-06-08 02:58:04       29 阅读
  6. Skins

    Skins

    2024-06-08 02:58:04      29 阅读
  7. DolphinScheduler调度系统

    2024-06-08 02:58:04       30 阅读
  8. 【高频】如何优化一个SQL语句

    2024-06-08 02:58:04       26 阅读
  9. 适配器模式 Adapter

    2024-06-08 02:58:04       30 阅读
  10. 深度学习之梯度缩放介绍

    2024-06-08 02:58:04       25 阅读
  11. 第 10 章 nodelet(自学二刷笔记)

    2024-06-08 02:58:04       28 阅读
  12. 【C++刷题】优选算法——位运算

    2024-06-08 02:58:04       31 阅读