Varnish实现Web站点加速
该系列文章只是本人的学习笔记,文章中的文字描述提取自《Linux鸟哥私房菜》《Linux运维之道》等书中的重点内容,部分内容是在培训Linux运维时总结的笔记,化繁为简能够在工作中快速复习掌握重点,并不代表个人立场,但转载请加出处,并注明参考文献。
Varnish 是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang使用3台Varnish代替了原来的12台Squid,性能比以前更好.
Varnish 的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多.在1975年时,储存媒介只有两种:内存与硬盘.但现在计算机系统的内存除了主存外,还包括了CPU内的L1、L2,甚至有L3快取.硬盘上也有自己的快取装置,因此Squid Cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是 Varnish cache设计架构.
◆编译安装Varnish◆
1.安装依赖包
#yum install -y libtool ncurses-devel pcre-devel libxslt libedit python-imaging python-docutils
yum install -y pcre-devel python-docutils libedit-dev*
2.编译安装Varnish
wget http://varnish-cache.org/_downloads/varnish-6.0.0.tgz
tar -xzvf varnish-6.0.0.tgz
cd varnish-6.0.0/
./configure --prefix=/usr/local/varnish6
make && make install
ln -s /usr/local/varnish6/sbin/* /usr/sbin/
ln -s /usr/local/varnish6/bin/* /usr/local/bin/
cp -a /usr/local/varnish6/share/doc/varnish/example.vcl /usr/local/varnish6/default.vcl
◆Varnish实现负载均衡并实现页面缓存◆
1.编辑Varnish主配置文件,在相应的区域追加写入以下标★语句
vim /usr/local/varnish/default.vcl
15 # Default backend definition. Set this to point to your content server.
16 backend default {
17 .host = "127.0.0.1";
18 .port = "8080";
19 }
20
★ backend web1 { #均衡web主机1
★ .host="192.168.1.13";
★ .port="80"; #指定端口
★ .probe = { #开启健康检查
★ .url = "/"; #请求的URL路径
★ .interval = 5s; #查询间隔时间
★ .timeout = 1s; #超时时间
★ .window = 5; #滑动窗
★ .threshold = 3; #上次检查.window数量的多少
★ }
★ }
★ backend web2 {
★ .host="192.168.1.14"; #均衡web主机2
★ .port="80"; #指定端口
★ .probe = { #开启健康检查
★ .url = "/"; #请求的URL路径
★ .interval = 5s; #查询间隔时间
★ .timeout = 1s; #超时时间
★ .window = 5; #滑动窗
★ .threshold = 3; #上次检查.window数量的多少,
★ }
★ }
★
★ import directors; #加载directors模块
★
★ sub vcl_init { #缓存及加速-03单-高性能缓存服务器
★
★ new bar = directors.round_robin();
★ bar.add_backend(web1);
★ bar.add_backend(web2);
★
★ }
★
★ sub vcl_recv {
★
★ set req.backend_hint = bar.backend(); #指定backend
★
★ }
2.检查配置文件,并启动Varnish
varnishd -C -f /usr/local/varnish6/default.vcl #检查语法
varnishd -f /usr/local/varnish6/default.vcl #启动
pkill varnishd #关闭Varnish
varnishlog #查看Varnish日志
netstat -anpt | grep varnishd #检查是否启动
3.验证环节
elinks http://127.0.0.1/ #varnish服务器会根据算法分配流量
Varnish实现Web站点加速的更多相关文章
- WEB 服务器 加速缓存比较
Nginx 相对 Apache httpd 的优点: - 轻量级,同样起web 服务,比apache 占用更少的内存及资源 - 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的 ...
- 【读书笔记】2016.12.10 《构建高性能Web站点》
本文地址 分享提纲: 1. 概述 2. 知识点 3. 待整理点 4. 参考文档 1. 概述 1.1)[该书信息] <构建高性能Web站点>: -- 百度百科 -- 本书目录: 第1章 绪论 ...
- 《构建高性能web站点》随笔 无处不在的性能问题
前言– 追寻大牛的足迹,无处不在的“性能”问题. 最近在读郭欣大牛的<构建高性能Web站点>,读完收益颇多.作者从HTTP.多级缓存.服务器并发策略.数据库.负载均衡.分布式文件系统多个方 ...
- 手机web站点和手机app 技术选型的困惑于思考
今年一直在关注移动端技术的发展,自己也用博客园的rss接口玩了半年,关于技术选型的困惑和大家说说 一 趋势 随着手机硬件不断的升级,外加4g牌照的发放,不出2年时间移动端web站点和手机app一定会进 ...
- 有了 Docker,用 JavaScript 框架开发的 Web 站点也能很好地支持网络爬虫的内容抓取
点这里 阅读目录 用 AngularJS(以及其它 JavaScript 框架)开发的 Web 站点不支持爬虫的抓取 解决方案 为什么公开我们的解决方案 实现 AngularJS 服务 结论 Pr ...
- Web站点架构设计考虑的因素
转自http://blog.csdn.net/moshengtan/article/details/8990052 1 Web负载均衡 1.1 - 使用商业硬件实现 最经常使用的F5 与citr ...
- 构建高可用web站点学习(二)
web站点的缓存学习 缓存在web应用里面十分常见,也有各种各样的缓存,从请求开始一直到代码处理的阶段都可以采取缓存.下面就逐一介绍: 一.客户端缓存(浏览器和http方面) 前端页面缓存主要遵循ht ...
- 构建高性能WEB站点笔记三
构建高性能WEB站点笔记三 第10章 分布式缓存 10.1数据库的前端缓存区 文件系统内核缓冲区,位于物理内存的内核地址空间,除了使用O_DIRECT标记打开的文件以外,所有对磁盘文件的读写操作都要经 ...
- 构建高性能web站点笔记一
构建高性能web站点笔记 第三章 服务器并发处理能力 3.1吞吐率 描述服务器在实际运行期间单位时间内处理的请求数.也就是一定并发用户的情况下,服务器处理请求能力的量化体现. 吞吐率的前提包括: 并发 ...
随机推荐
- JDBC 连接mysql数据库
JDBC 连接mysql数据库jar包:mysql-connector-java-5.1.47.jar 下载:mysql-connector-java-5.1.47.jar jdbc:java dat ...
- 深度学习原理与框架-递归神经网络-RNN网络基本框架(代码?) 1.rnn.LSTMCell(生成单层LSTM) 2.rnn.DropoutWrapper(对rnn进行dropout操作) 3.tf.contrib.rnn.MultiRNNCell(堆叠多层LSTM) 4.mlstm_cell.zero_state(state初始化) 5.mlstm_cell(进行LSTM求解)
问题:LSTM的输出值output和state是否是一样的 1. rnn.LSTMCell(num_hidden, reuse=tf.get_variable_scope().reuse) # 构建 ...
- ViewParent 和 ViewManager
ViewGroup 继承了 View 实现了两个接口 ViewParent 和 ViewManager 接口 ViewParent:定义了成为一个View的parent的一些“职能”,当paren ...
- uboot 设备树 libfdt
http://www.cnblogs.com/leaven/p/6295999.html
- k8s之创建etcd集群
主机规划 maste01——192.168.10.63 master02——192.168.10.64 node01——192.168.10.65 node02——192.168.10.66 1.为保 ...
- Python利用PIL生成随机验证码图片
安装pillow: pip install pillow PIL中的Image等模块提供了创建图片,制作图片的功能,大致的步骤就是我们利用random生成6个随机字符串,然后利用PIL将字符串绘制城图 ...
- Windows 配置nginx服务器 运行php项目
1下载 http://nginx.org/en/download.html 选择稳定版下载. 2 解压后 直接双击nginx.exe 双击后一个黑色的弹窗一闪而过 3 修改配置文件nginx.conf ...
- vue 和 react 路由跳转和传参
react 1 .跳转方式加传参 this.props.history.push({ //地址 pathname: '/film/Details', //路由传参 ...
- 创建的vue项目出错的时候,提示This dependency was not found错误的处理方法
错误如图所示: 解决方法:npm install stylus-loader css-loader style-loader --save-dev
- bootstrap 辅助工具
模板 https://startbootstrap.com/ 可视化bootstrap在线编辑器 https://www.layoutit.com/