7.7 简单cdn运行维护

简介:

尽管在前面我们用大量的篇幅来描述怎么部署一个cdn环境,但这却不是我们的日常工作(实际工作场景没有谁成天在那里部署cdn环境)。部署和上线cdn,只是一个开始,运行和维护好这个环境,才是最关键的地方所在。

第一个常规性的工作,可能是缓存刷新操作。每当在源站上更新已经存在的文件时,我们就必须进行缓存刷新的操作,否则有些用户看到的页面内容仍然可能是陈旧的。刷新缓存的操作,是在缓存服务器上进行的,但我们有很多缓存服务器,一个一个手工刷新,既费时又容易出错和遗漏,因此最好把它自动化。下面介绍我用脚本自动更新全部缓存的方法(如果你有时间,可以写出单独对某个url更新的脚本【注1):

1、 登陆某个linux服务器,为安全起见,最好是一个无重要服务的主机。

2、 编写一个缓存服务器的所有ip地址和对应密码的列表(如图7-7所示),文件保存为/usr/local/bin/passwd.txt,其权限设置为700(只有root用户有读写执行权限)

7-7 passwd.txt文件片段

3、 编写expect脚本,用以实现自动应答ssh远程连接。此脚本命名为ssh.exp,也把它放在/usr/local/bin目录里,器内容如下:

#!/usr/bin/expect

set password [lrange $argv 0 0]

set ipaddr [lrange $argv 1 1]

set scriptname [lrange $argv 2 2]

set arg1 [lrange $argv 3 3]

set timeout -1

spawn ssh root@$ipaddr $scriptname $arg1

match_max 100000

expect "(yes/no)?" {

 send "yes\r"

 expect "password:"

 send "$password\r"

 } "password:" {send "$password\r"} "*host " {exit 1}

interact

4、 编写脚本/usr/local/bin/purge_cache.sh,其内容为:

#!/bin/bash

cd /usr/local/bin

for i in `awk '{print $1}' passwd.txt`

do

j=`awk -v I="$i" '{if(I==$1)print $2}' passwd.txt`

ssh.exp $j $i purge.sh

done

5、 在每个缓存服务器上编写脚本/usr/local/bin/purge,sh,其内容为:

#!/bin/sh

/usr/local/varnish/bin/varnishadm -T 127.0.0.1:3500 url.purge *$

6、 在每个缓存服务器上都执行一下脚本/usr/local/bin/purge.sh,检查其运行情况。

7、 现在再回到控制服务器上,手动运行第“4”步编写的脚本/usr/local/bin/purge_cache.sh,等待程序执行并查看其输出。

第二个常规性维护操作是备份数据。需要备份的数据有两部分:配置文件和数据文件。在cdn环境下,只有源站的网站的数据需要备份,其它的备份操作都是针对配置文件的,如dns区文件。

第三个常规性的操作是故障处理与恢复。因为整个cdn是基于高可用的架构,即便出现故障也不会导致服务全部停止,因此服务的恢复就不会有什么压力;另外也因为有监控系统的报警,很容易就知道问题出在什么地方。

再一个维护操作可能是增加cdn布点,这是用户访问量增大时需要采取的必然措施。因为整个cdn环境是可扩展的架构,因此增加新的布点不会导致服务停止。

【注1】需要在脚本接受多个命令行参数。有兴趣的读者,可自行编写一个脚本。






















本文转自sery51CTO博客,原文链接:http://blog.51cto.com/sery/639367 ,如需转载请自行联系原作者




相关文章
|
CDN Python
宝塔面板中腾讯云CDN插件运行出错解决办法
宝塔面板中腾讯云CDN插件运行出错解决办法
270 0
宝塔面板中腾讯云CDN插件运行出错解决办法
|
3月前
|
域名解析 网络协议 安全
阿里云CDN
本文介绍阿里云CDN产品中涉及的基本概念,便于您更准确地理解和使用CDN产品。
62 5
|
3天前
|
缓存 边缘计算 网络协议
阿里云CDN介绍
阿里云CDN介绍
10 0
|
16天前
|
缓存 网络协议 Serverless
阿里云CDN简介和使用流程
本文档介绍了如何在阿里云上配置和使用CDN服务。首先,需要注册并实名认证阿里云账号,然后购买CDN服务。接着,添加要加速的域名,通过CDN控制台和阿里云云解析DNS进行配置,并验证CNAME设置是否生效。之后,配置源站信息,可以选择OSS域名、IP、源站域名或函数计算域名作为源站。最后,设置缓存规则,如缓存过期时间、状态码过期时间、自定义HTTP响应头等,以优化资源访问效率。
阿里云CDN简介和使用流程
|
24天前
|
弹性计算 Ubuntu 网络协议
阿里云CDN功能Quick Start
本文通过在国外Region ECS创建ECS,通过ECS部署应用,然后使用CDN加速部署应用,全链路测试体验阿里云CDN通过IP加速服务的功能。
|
9月前
|
弹性计算 缓存 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(三)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(三)
136 0
|
2月前
|
安全 网络安全 CDN
阿里云CDN HTTPS 证书配置流程
阿里云CDN HTTPS 证书配置流程
177 1
|
9月前
|
弹性计算 缓存 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(二)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(二)
136 0
|
9月前
|
缓存 弹性计算 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(一)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)
172 0
|
10月前
|
缓存 前端开发 安全
阿里云CDN简介和优惠购买流程
阿里云CDN,首先需要了解什么是CDN。CDN全称是Content Delivery Network,即内容分发网络。CDN可以通过地理位置分发策略,使用户就近访问到离他们最近的服务器,从而提高访问速度,同时也能减轻源站流量压力,确保整个网站的稳定性。 阿里云CDN是阿里云推出的全球服务,涵盖全球范围内1250+节点。阿里云CDN采用的是BGP多线路中转技术,保证全局加速,让网络传输更加稳定。阿里云CDN可以帮助用户提高网站的访问速度,从而提升用户体验。同时,阿里云CDN还有许多其他的优势。