利用DNSPod域名解析实现blog高可用

联系:手机/微信(+86 17813235971) QQ(107644445)QQ咨询惜分飞

标题:利用DNSPod域名解析实现blog高可用

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

因为blog的服务器不太稳定,经常有异常断网或者关机现象发生,今天采用了利用一些基本资源,使用了高可用,整体思路采用DNSPod域名解析提供的免费检测服务器状态,如果主服务器发生宕机,自动切换到备机功能(监控功能)实现高可用。

1、配置备用服务器和主服务器一致,使用相同的域名均可以访问(修改电脑的hosts文件测试)
在本次配置中,主要是固定url的功能
1.1)apache中启用该模块mod_rewrite

1.2).htaccess文件中内容

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

1.3)启用FollowSymLinks功能
“Options Indexes FollowSymLinks
… …
AllowOverride None”
改为
“Options Indexes FollowSymLinks
… …
AllowOverride All”

2、配置DNSPod监控功能,添加备机ip到域名解析中

3、既然思路是当一台服务器发生故障时,域名解析自动切换到备用服务器,那么问题就是主服务器和备服务器的数据要一致,因为是网站,涉及的数据一致主要就是数据库内容一致,网站上传编辑附件一致即可

3.1)mysql数据库同步(因为这个是个人blog,对数据的实时性,一致要求不是异常的高,所以采用crontab实现同步,如果要求高,可以采用mysql 主主复制实现)

#!/bin/bash
#目标数据库
target_db=*******
target_user=*******
target_pwd=*******
target_host=*******

#源数据库
source_db=*******
source_user=*******
source_pwd=*******
source_host=*******

#其他配置
dumptime=$(date +%y%m%d%H%M)
dumpfile=/home/chengfei/backup/mysql/${dumptime}.sql
logfile=/home/chengfei/backup/log/syc_mysql.log

#开始操作
echo "开始数据库同步……`date`……">>${logfile}
#导出数据库
 /usr/bin/mysqldump -u${source_user} -p${source_pwd} -h${source_host} ${source_db} >${dumpfile} 2>> ${logfile}

#导入数据库
mysql -u${target_user} -p${target_pwd} -h${target_host}<<XFF>> ${logfile}
drop database ${target_db};
create database ${target_db};
use ${target_db};
source ${dumpfile}
exit
XFF
#操作结束
echo "数据库同步结束……`date`……">>${logfile}
echo ''>>${logfile}

--crontab 
00 2,12,14,16,18,20,22,24 * * * /home/chengfei/backup/script/sysc_mysql.sh

3.2)因为我这个blog上传编辑图片类的内容非常少,暂时没有考虑网站文件同步功能,以后可以考虑实现。目前初步方案是采用scp或者ftp结合crontab功能实现定时同步

此条目发表在 Others 分类目录。将固定链接加入收藏夹。

利用DNSPod域名解析实现blog高可用》有 4 条评论

  1. 惜 分飞 说:

    可以的啊,我给你看下切换的记录
    时间 信息
    2011/8/11 16:49:41 [恢复]恢复域名到原有的服务器,域名:(www.xifenfei.com)(6609646);IP:(60.191.178.186),完成结果#已经恢复 Record modified success。
    2011/8/11 16:49:40 [网络] 来自监控点的通知,域名(www.xifenfei.com)(60.191.178.186)状态更改为:(Ok)(200)message:(#暂无),当前的状态为 Down
    2011/8/11 16:08:31 [切换]自动切换宕机主机至备用服务器。域名:(www.xifenfei.com)(6609646);IP:(60.191.178.186),结果:已经切换为 211.155.227.172 (Record modified success)
    2011/8/11 16:08:30 [网络] 来自监控点的通知,域名(www.xifenfei.com)(60.191.178.186)状态更改为:(Down)(-1)message:(由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 60.191.178.186:80),当前的状态为 Ok

  2. 大脚丫 说:

    这样也行,我也一直在用DNSPOD解析,还是他们的VIP呢,我去试试,看看什么效果

  3. 舞蝶 说:

    楼主好有才啊,我知道dsnpod解析还不错,但真不知道,原来还可以实现blog高可用性

  4. 惜 分飞 说:

    这个不是一个严谨的高可用方案,只是根据我的blog的目前状态采用的一个临时的解决方案,可以从一定程度上提高blog的可访问性