缓存(反向代理)服务器-varnish

  • varnish简介:
    • varnish是一款高性能且开源的反向代理服务器和HTTP加速器,(其实就是带缓存的反向代理服务器)它可以把整个HTTP响应内容缓存到内存或文件中,从而提高web服务器器的响应速度。
    • 与传统的squid相比,varnis具有性能更高、速度更快管理更方便等诸多优点,很多大型的网站都开始尝试使用varnish来替换squid。
  • varnish特点:
    • 1.是基于内存缓存,重启后数据消失。
    • 2.利用虚拟内存方式,id性能好。
    • 3.支持设置0~60秒内的精确缓存时间。
    • 4.VCL配置管理比较灵活
    • 5.32位机器上缓存文件大小为最大2G
    • 6.具有强大的管理功能,列如top,stat,admin,list等
    • 7.状态机设计巧妙,结构清晰。
    • 8.利用二叉堆管理缓存文件,达到积极删除目的
  • varnish与squid相比:
    • 两者都可以做反向代理服务器
    • 都是开源软件
  • varnish的优点:
    • 稳定性高,两者在完成相同负荷的工作时,squid服务器发生故障的几率要大,因为squid经常要重启
    • varnish访问速度快,所有数据都是从内存中读取,而squid是从硬盘读取,因而varnish在访问速度方面更快
    • varnish可以支持更多的并发连接,因为varnish的TCP连接释放要比squid快。
    • varnish可以通过管理端口,使用正则表达式批量的清除部分缓存
  • 与squid相比,varnish的缺点:
    • varnish在高并发状态下CPU、IO、内存等资源开销都高于squid。
    • varnish进程一旦Hang(无响应)、Crash(崩溃)或重启,缓存数据都会从内存中完全释放,此时所有请求都会发送到后端服务器,在高并发的情况下,会给后端服务器造成很大压力。
  • 配置varnish反向代理缓存:
    • 实验主机:
      • varnish:192.168.8.5
      • Nginx:192.168.8.6
    • varnish配置:
      • 安装varnish:yum -y install varnish 、
      • 修改配置文件,修改端口为80,默认端口为6081
        • 定位14行,修改:
        • VARNISH_LISTEN_PORT=80
        • 保存退出
      • 添加配置文件,指定后端的web服务器:
        • vim /etc/varnish/default.vcl
          • 定位19行,修改:
          • backend default {
          • .host = "192.168.8.6";
          • .port = "80";
          • }
          • 保存退出
      • 启动服务:systemctl start varnish
    • 配置NGINX服务器:
      • yum -y install nginx
      • 修改网页内容
        • echo "web1" > /usr/share/nginx/html/index.html
      • 启动服务:systemctl start nginx
    • 访问代理服务器varnish:http://192.168.8.5
    • 查看nginx访问日志:
      • 是由代理服务器发来的请求

      • 将日志内容删除,再次访问测试varnish是否将网页缓存到了自己的内存中
        • > /var/log/nginx/access.log

        • 如果清除了一次还有日志,就多刷新访问一次,是因为varnish还没有将网页内容完全缓存到自己主机上
  • varnish基本命令:
    • varnishadm
    • ban req.url == /index.html #清除指定缓存
    • ban req.url ~ .* #清除所有缓存
    • param.show default_ttl #查看TTL值
    • param.set default_ttl 43200 #设置TTl值
    • vcl.show boot #查看当前配置文件

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

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

相关文章

【Java后端开发】教程及案例

Java后端开发是软件开发中的一个重要领域,它涉及到服务器端的程序设计、数据库交互、API开发、安全性处理等多个方面。以下是关于Java后端开发的教程和案例的详细介绍: ### Java后端开发基础 #### 1. Java基础知识 - 掌握Java基础语法、面向对象编程、…

压测Nginx时对Linux内核参数优化,以支持更高的并发

文章目录 Linux内核参数优化参数意义解析注意事项 Linux内核参数优化 编辑/etc/sysctl.conf文件 fs.file-max 999999 net.ipv4.tcp_tw_reuse 1 net.ipv4.tcp_keepalive_time 600 net.ipv4.tcp_fin_timeout 30 net.ipv4.tcp_max_tw_buckets 5000 net.ipv4.ip_local_port_…

如何提高图片的分辨率?dpi修改工具推荐

在调整分辨率之前,我们需要了解什么是dpi分辨率,简单来说,分辨率是指图像中包含的像素数量,分辨率越高,图像就越清晰,常见的分辨率包括72dpi、96dpi和300dpi等,在打印照片或者一些考试平台对图片…

02-JDK新特性-泛型

泛型 什么是泛型 泛型是JDK5中引入的特性,它提供了编译时类型安全检测机制,该机制允许在编译是检测到非法的类型。 它的本质是参数化类型,也就是说操作的数据类型被指定为一个参数。 也就是将类型有原来的具体类型参数化,然后在…

【CVE复现计划】CVE-2023-27179

CVE-2023-27179 简介: GDidees CMS v3.9.1及更低版本被发现存在本地文件泄露漏洞,漏洞通过位于 /_admin/imgdownload.php 的 filename 参数进行利用。 影响版本: GDidees CMS v3.9.1及更低版本 POC: /_admin/imgdownload.php?filename/fla…

2024蓝桥杯每日一题(树形DP)

备战2024年蓝桥杯 -- 每日一题 Python大学A组 试题一:病毒溯源 试题二:没有上司的舞会 试题三:生命之树 试题一:病毒溯源 【题目描述】 病毒容易发生变异。某种病毒可以通过突变产生若干变异的毒株,而…

MATLAB 自定义中值滤波(54)

MATLAB 自定义中值滤波(54) 一、算法介绍二、算法实现1.原理2.代码一、算法介绍 中值滤波,是一种常见的点云平滑算法,改善原始点云的数据质量问题,MATLAB自带的工具似乎不太友好,这里提供自定义实现的点云中值滤波算法,具体效果如下所示: 中值滤波前: 中值滤波后:…

前端性能优化-Table渲染速度优化

教务系统-排课页面性能优化总结 一、前言 在公司教务系统中,排课页面慢的令人发指,在某些情况由于数据量大导致页面主进程卡死,遂组织进行一次排查优化,现记录一下 二、效果对比 以下数据均为UAT环境 Performence对比 更改前: 主进程渲染时间为 8s 教务系统-排课页面性…

Ubuntu安装elasticsearch

Ubuntu系统上安装Elasticsearch可以通过多种方式进行,以下是几种常用的安装方法。在开始安装前,请确保你的系统是最新的,这可以通过运行sudo apt update和sudo apt upgrade命令来完成。 方法一:使用APT仓库安装(推荐&…

【日常积累】指定ruby版本环境安装

背景说明 在redis的5.0版本之前,使用redis提供的redis-trib创建redis集群时还需要依赖ruby环境。当然有时候我们自已也需要安装指定ruby版本环境。下面是安装时的大致过程,以及过程中遇到的问题解决。我使用的环境是centos7,小版本差别应该不…

std::exit功能介绍和析构函数调用

std::exit函数调用后,系统会终止当前执行的程序(无论主线程还是子线程调用,该程序都会被终止),在终止之前会有一些清理步骤会被执行: 静态存储对象(静态的或者全局的)会被析构&#…

MHA的实验部署

一、前期准备 准备四台虚拟机,一台主服务器,一台管理服务器,两台从服务器 在开始之前先要关闭所有服务器的防火墙,以免有一些麻烦 二、实际操作 2.1 配置主服务器 2.2 配置从服务器1和2 2.3 给主从服务器实现软链接 2.4 配置mysql…

Docker学习指南

前言 亲爱的读者们,欢迎来到这篇专为“小白”打造的 Docker 学习博客。作为一名运维工程师,我深知初学者在面对 Docker 这样的技术时可能会遇到的困惑与挑战。因此,本文将以浅显易懂的语言、详实的步骤和实用的示例,带领大家从零…

TypseScript再学习之类型别名和接口(10)

先看类型别名:使用关键字 type 声明,注意有等于号额 // 类型别名 使用关键字 type 声明,注意有等于号额 type Cat {name: string; }; let huahua: Cat {name: "花花", };type和interface不同之处在于:interface 是可以自动合并类型的&#…

【单片机 5.3开关检测】

文章目录 前言一、5.3开关检测1.1没按键按下的1.2有按键按下的 二、改进1.改进 三、独立键盘3.1为什么要取反3.2 实用的按键 总结 前言 提示:这里可以添加本文要记录的大概内容: 课程需要: 提示:以下是本篇文章正文内容&#xf…

春暖助学 梦想启航

(通讯员:赵灿飞 图:杨美、孙红浪) 春风拂面暖阳斜,爱心助学谱华章。为弘扬中华民族传统美德,动员社会力量,传播社会爱心,缓解宁乡西部特殊家庭学子学业面临的实际困难&#xff…

CorePoolExecutor夺命连环问?看你可以接受几招?

一、前言 今天我在看why技术的时候,看到了这个。发现这个没有全部的八股回答?于是我就结合自己的经验,分享下八股 二、八股问答 2.1了解JDK Executors线程池吗? Executor就是一个线程池框架,在开发中如果需要创建线程可优先考…

JMeter自定义日志与日志分析

1 JMeter日志概览 JMeter与Java程序一样,会记录事件日志,日志文件保存在bin目录中,名称为jmeter.log。当然,我们也可以在面板中直接察看日志,点击右上角黄色标志物可以打开日志面板,再次点击收起。 可见&…

从入门到实战:vue3路由知识点

本人在B站上关于vue3的尚硅谷的课程,以下是整理一些笔记。 1.两个知识点 1.路由组件通常存放在pages 或 views文件夹,一般组件通常存放在components文件夹。 组件可以分为: 1. 一般组件:亲手写标签出来的 2. 路由组件&#…