CDN推送
一、什么是CDN推送
当后端服务器中的DNS有更新的时候,在varnish的缓存中应该及时地同步后端服务器中的内容。相当于清空varnish中的缓存,当下一次进行访问时,直接从服务器中获取新的内容。
二、配置过程
1、在varnish(server1)中安装httpd服务,并编辑httpd配置文件,将136行的端口号修改为8080(因为varnish服务器已经占用了80端口)
2、安装php
---> yum install php -y
3、安装bansys.zip压缩包。(压缩到/var/www/html目录下)
---> unzip bansys.zip -d /var/www/html
---> mv /var/www/html/* /var/www/html
---> vim /vat/www/html/bansys/config.php
$var_group1 = array(
'host' => array('172.25.2.1'), # 定义主机列表ip和端口号
'port' => '80',
);
//varnish 群组定义
//对主机列表进行绑定
$VAR_CLUSTER = array(
'www.xniu.com' => $var_group1, # 绑定varnish主机
);
//varnish 版本//2.x 和 3.x 推送命令不一样
$VAR_VERSION = "3"; # varnish版本为3
?>
4、在server1主机中打开httpd服务,在物理主机中输入172.25.2.1:8080可以显示CDN推送的界面
5、编写varnish默认文件
---> vim /etc/varnish/default # 添加即可
#设置访问控制
"127.0.0.1";
"172.25.2.0"/24; # varnish主机的子网掩码
}
.host = "172.25.2.2";
.port = "80";
}
backend web2 {
.host = "172.25.2.3";
.port = "80";
}
director lb round-robin {
{ .backend = web1; }
{ .backend = web2; }
#把多个后端聚合为一个组,并检测后端健康状况
}
# 此时需要注释掉pass(防止直接到服务器端获取)
sub vcl_recv {
if (req.request == "BAN") {
if (!client.ip ~ xniu) {
error 405 "Not allowed.";
}
ban("req.url ~ " + req.url);
error 200 "ban added";
}
}
---> /etc/init.d/varnish reload
6、在浏览器中进行测试(修改varnish的缓存后的结果是不一样的。此时我们选择http方式 )
---> curl -I www.xniu.com # 对缓存时间进行查看
1)首先,通过网页访问一个后端服务器。(此时,varnish加速器对网页进行缓存;之后进行刷新,是不会变化的)
2)CDN推送后(到达推送界面,有推送完成提示后,点击返回)。
CDN推送的更多相关文章
- goEasy消息推送,pushlet 向特写用户实时推送
goEasy 1先去goEasy官网注册goeasy.io,并创建application,得到superKey 2引入js <script type="text/javascript& ...
- PHP Web实时消息后台服务器推送技术---GoEasy
越来越多的项目需要用到实时消息的推送与接收,怎样用php实现最方便呢?我这里推荐大家使用GoEasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送! 浏览器兼容性:GoEasy推送 ...
- Ruby Web实时消息后台服务器推送技术---GoEasy
越来越多的项目需要用到实时消息的推送与接收,怎样用Ruby实现最方便呢?我这里推荐大家使用GoEasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送! 浏览器兼容性:GoEasy推 ...
- web推送
WEB消息推送框架 web-msg-sender是一款web长连接推送框架,采用PHPSocket.IO开发,基于WebSocket长连接通讯,如果浏览器不支持WebSocket则自动转用comet推 ...
- 用GoEasy推送实现Java实时推送
前段时间客户有个需求他希望他在后台管理页面发布一个消息,所有用这个系统的用户无论在哪个页面都能及时收到他发布的信息,以前对于类似需求在少量 页面接收的前提下,我一般采用ajax定时去服务器pull信息 ...
- GoEasy消息推送
1. 从GoEasy获取appkey appkey是验证用户的有效性的唯一标识. 注册账号. GoEasy官网:https://goeasy.io 用注册好的账号登录到GoEasy的后台管理系统,创建 ...
- 海外 App 的推送服务,试试 FCM 吧!!!
> **版权声明:** > > **本账号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影所有.** > > **每周会统一更新到这里,如果喜欢,可关注公 ...
- web消息推送-goesay
原文:http://www.upwqy.com/details/22.html 1 GoEasy简介: GoEasy - Web实时消息推送服务专家 最简单的方式将消息从服务器端推送至客户端 最简单的 ...
- HTTP/2之服务器推送(Server Push)最佳实践
商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. WeTest 导读 HTTP/1.X出色地满足互联网的普遍访问需求,但随着互联网的不断发展,其性能越来越成为瓶颈.IETF在2015 ...
随机推荐
- CSS Table(表格)
CSS Table(表格) 一.表格边框 border 指定CSS表格边框,使用border属性. 下面的例子指定了一个表格的Th和TD元素的黑色边框: table, th, td { border: ...
- Junit中的setup和teardown方法
setup需要@before注解,实现测试前的初始化工作 teardown需要@after注解,测试完成后垃圾回收等后续工作
- angularjs中的jqlite的认识理解及操作使用
刚了解angularjs时,就知道它有个内嵌的轻量级的jquery:jqLite,那时候常于jQuery分不清,其实它们是不一样的.jqLite中,通过angular.element(param)获得 ...
- 置顶,置低实现与window.scroll
//置顶,置低实现 $('#updown .up').click(function(){$('html,body').animate({scrollTop: '0px'}, 300);}); $('# ...
- js中比较实用的函数用法
<table id="table"> <tr> <th>用户ID</th> <th>用户名</th> < ...
- ubuntu 18.04 64bit下如何安装python开发工具jupyterhub
注:这是多用户版本 1.安装依赖 sudo apt-get install npm nodes sudo apt-get install python3-distutils wget https:// ...
- vi在行首插入注释符号#
1.ctrl+v 2.上下键选中要插入的位置 3.按下shift+i,接着输入#符号 4.按键ESC(稍等一下,就会自动插入了)
- 生信实验室收集---Dana Pe'er Lab
Dana Pe'er Lab of Computational Systems Biology Dana Pe'er是哥伦比亚大学生物科学系的副教授,被认为是计算系统生物学的主要研究人员之一.Dana ...
- nagios监控3306端口
1.修改 /usr/local/nagios/etc/objects/commands.cfg 添加一个服务名 # check port define command{ command_name c ...
- Linux 安装rabbitmq 遇到的一些问题
Linux下防火墙开启相关端口及查看已开启端口 https://www.cnblogs.com/pizitai/p/6518987.htmlhttps://www.cnblogs.com/blog-y ...