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插件运行出错解决办法
428 0
宝塔面板中腾讯云CDN插件运行出错解决办法
|
10月前
|
缓存 前端开发 JavaScript
适合阿里云CDN分发的文件类型有哪些?
静态文件如网页、图片、视频等适合CDN分发,可提升加载速度,减轻源站压力。动态、私有或频繁变更内容则不适合。合理选择资源包,助力高效上云。
|
10月前
|
CDN
阿里云CDN计费价格如何收费的?一文看懂
阿里云CDN计费包含基础费用与增值服务。基础费用可选按流量、带宽峰值或月结95带宽计费,默认按流量计费;增值服务如HTTPS、QUIC、WAF、实时日志等按使用量收费,不使用不计费。支持资源包抵扣,详情参考官方文档。
894 10
|
10月前
|
缓存 监控 安全
如何设置阿里云CDN的流量阈值以避免超额费用?
在信息爆炸时代,阿里云CDN助力网站加速。合理设置CDN阈值可提升性能、节省带宽、增强安全。本文详解阈值配置步骤与监控优化,助你高效利用资源。无账号者可通过翼龙云上云,享技术支持与优惠。
|
10月前
|
缓存 前端开发 JavaScript
有哪些文件适合阿里云CDN分发?
静态、高频访问且对加载速度要求高的文件(如网页、图片、视频、下载文件)适合CDN加速,可提升性能与性价比;动态内容、私有数据、频繁更新或敏感资源则不宜使用。合理选择分发策略,优化体验并降低成本。
|
10月前
|
CDN
怎么调整阿里云CDN配额?
阿里云CDN助力网站加速,配额管理关乎性能与成本。本文详解带宽、流量、请求数配额定义,指导用户查看及申请提升配额,并解析费用影响与优化策略,助您合理规划资源,降本增效。
|
11月前
|
存储 监控 CDN
阿里云CDN怎么收费的?一文讲明白
阿里云CDN收费由基础服务费和增值服务费组成。基础费用必选,计费方式包括按流量、按带宽峰值或月结95带宽峰值三种;增值服务如HTTPS请求、QUIC请求、WAF防护和实时日志等按需使用,不使用不收费。本文详解2025年最新收费标准及计费规则。
|
10月前
|
域名解析 缓存 监控
阿里云渠道商:如何排查阿里云CDN访问问题?
排查阿里云CDN访问问题需分步诊断:先检查DNS解析与CDN基础配置,再根据访问慢、内容未更新或50x错误等现象定位原因,结合ping、tracert及阿里云实时日志、节点检测等工具深度分析。掌握此流程,快速解决异常。
|
10月前
|
边缘计算 缓存 双11
阿里云渠道商:什么时候应该使用阿里云 CDN 预热?
阿里云CDN预热可将资源提前分发至边缘节点,降低首字节时间50%以上,减轻源站压力。适用于大促活动、大文件发布、定期更新、突发流量及APP资源更新等场景,提升访问速度与稳定性。首次访问求快用预热,内容更新生效用刷新。
|
10月前
|
CDN
如何切换阿里云CDN的加速区域?
本文介绍如何通过阿里云CDN控制台切换加速区域,涵盖登录、域名管理、修改加速范围及注意事项,助企业轻松实现从中国大陆到全球的CDN加速调整,优化海外用户访问体验。