基于lvs的DR模型搭建高可用的web服务,并部署wordpress,(附有脚本实现健康状态检测的代码)

试验环境:

# uname -ro2.6.32-358.el6.i686 GNU/Linux

基于lvs的DR模型搭建高可用的web服务,部署wordpress如下图

1.分别为在个服务器中同步时间,防止数据不同步。

# ntpdate 172.16.0.1# crontab -eno crontab for root – using an empty one*/5 * * * * /usr/sbin/ntpdate 172.16.0.1

2.在172.16.1.1搭建基于fcgi的LAMP平台提供web服务。(具体实现过程可以参见基于fcgI编译安装LAMP实现层次化:httpd 2.4.9 + mysql-5.5.33 + php-5.4.26)

3.在172.16.19.101中搭建nfs,作为web1和web2的共享文件服务器

centos6.4自带nfs服务1.新添加一块磁盘,创建逻辑卷,作为文件共享存储,并挂载/data目录下:具体过程可以参见以前的博客2.编辑nfs的配置文件/etc/exports,添加如下代码:# vim /etc/exports/data 172.16.0.0/16(rw,no_root_squash)3.启动nfs服务# service nfs start4.将NFS文件系统挂分别载至web1和web2服务器的 /usr/local/apache/htdocs目录下,共享web目录# vim /etc/fstab172.16.19.1:/data/usr/local/apache/htdocsnfsdefaults,acl 0 04.设置共享文件的权限:#setfacl -m -u:apache:rwx /dataNFS服务基于RPC(远程过程调用)实现网络文件共享

4.在172.16.1.101源码安装mariadb-10.0.10-linux-i686,做为web1和web2的mysql数据库服务器(聚过程可以参见上一篇博客)

为wordpress授权,使其能够操作数据库MariaDB [(none)]> grant all privileges on *.* to “wordpress”@’172.16.%.%’ identified by ‘wordpress’;Query OK, 0 rows affected (0.01 sec)MariaDB [(none)]> flush privileges;Query OK, 0 rows affected (0.01 sec)

5为web服务提供测试页,测试web1和web2

# vim /usr/local/apache/htdocs/index.php<?phpphpinfo();?>

在Director中进行如下配置1.清空iptables中的规则# iptables -t filter -F# yum -y install ipvsadm  2.配置vip# ifconfig eth0:0 172.16.19.100/16 up3.配置web1(RS1)# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce4.隐藏RS1中的VIP,使RS1基于VIP正常与客户端通信# ifconfig lo:0 172.16.1.100 netmask 255.255.255.255 broadcast 172.16.19.100 up# route add -host 172.16.19.100 dev lo:05.配置web2(RS2)# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce6.隐藏RS1中的VIP,使RS1基于VIP正常与客户端通信# ifconfig lo:0 172.16.1.100 netmask 255.255.255.255 broadcast 172.16.19.100 up# route add -host 172.16.19.100 dev lo:0  7.在Director中添加集群规则:实现session绑定# ipvsadm -A -t 172.16.19.100:80 -s wlc -p 86400# ipvsadm -a -t 172.16.19.100:80 -r 172.16.1.10 -g# ipvsadm -a -t 172.16.19.100:80 -r 172.16.1.11 -g

1 # cd /data/  下载wordpresslftp 172.16.0.1:/> get pub/Sources/5.i386/new_lamp/wordpress-3.3.1-zh_CN.zip2解压wordpress# uzip wordpress-3.3.1-zh_CN.zip  3.修改wordpress所有文件的权限# chmod 777 /data/wordpress/*4 初始化wordpress,并安装部署wordpress为wordpress创建数据库# MariaDB [(none)]> create database wordpress ;5.为其提供配置脚本# vim /data/wordpress/wp-config.php<?phpdefine(‘DB_NAME’, ‘wordpress’);define(‘DB_USER’, ‘dis’);define(‘DB_PASSWORD’, ‘dis’);define(‘DB_HOST’, ‘172.16.19.101’);define(‘DB_CHARSET’, ‘utf8’);define(‘DB_COLLATE’, ”);define(‘AUTH_KEY’,'{};kK-laXdILf#|3:0$dX_o( u*.SU9!B2!x,@,Zi!PK^-MQw;=o2P3SCk@0wRoK’);define(‘SECURE_AUTH_KEY’, ‘@AkI-VJs-WUVz+]A,n<hClqe.(nJ xsdfqOe:5SxH|UwV:tnU+qyVjCpzG2T/m*j’);define(‘LOGGED_IN_KEY’, ‘^8]94US~HTZ,1}K 0q6.Lg.y6,Deq,}7P*PK3I@]x)YxCQ<YVezqs]f!ah>%/* S’);define(‘NONCE_KEY’,’H wWh@]>p,[7mOdjXtM9hpw@{S[;3pqZN/jVOUSrDF<Kc/fb[5S4J@!)kzk>v428′);define(‘AUTH_SALT’,’ta:l97{$5{}tuH3&H_JEkR*6f^+AD&Iwv{&v$JXu`/1}dbixz=$sWAtiT]7D(aVt’);define(‘SECURE_AUTH_SALT’, ‘-GH*Z=2]`6!jEiYfPe$XHk3Y/ItzD,81`4k`zjTj[LOGn&e?y:g?tY|#S%uZzGP$’);define(‘LOGGED_IN_SALT’, ‘SLML{Uuo4BX*{!Q.VRA&O3:JaWIYLT>GX{#_OsWS=IJO/bY^PciYjFQ_d{S}F(jp’);define(‘NONCE_SALT’,’EmkqCx,4<9C;J4]Fr(:2rr4TrgaW4F`R+k,<9K{Et5*i90T+C%#%![Kx^JJGz<$z’);$table_prefix = ‘wp_’;define(‘WPLANG’, ‘zh_CN’);define(‘WP_DEBUG’, false);if ( !defined(‘ABSPATH’) )define(‘ABSPATH’, dirname(__FILE__) . ‘/’);require_once(ABSPATH . ‘wp-settings.php’);define(‘WP_ALLOW_REPAIR’, true);?>

8.基于LAMP平台的DR模型的LVS集群搭建成功

# ipvsadm -L -n –connectionIPVS connection entriespro expire statesourcevirtualdestinationTCP 1385:22 NONE172.16.0.102:0172.16.19.100:80 172.16.1.11:80TCP 1313:11 NONE172.16.19.2:0172.16.19.100:80 172.16.1.10:80# ipvsadm -L -n –statsIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:PortConns InPkts OutPkts InBytes OutBytes -> RemoteAddress:PortTCP 172.16.19.100:8031029580 2560170 -> 172.16.1.10:8019616240 132126

9.为基于LAMP平台的LVS集群提供健康状态检测脚本,运行在LVS中的每一个节点

想念我的时候,不要忘记我也在想念你。

基于lvs的DR模型搭建高可用的web服务,并部署wordpress,(附有脚本实现健康状态检测的代码)

相关文章:

你感兴趣的文章:

标签云: