CentOS部署双web服务器+单mysql服务器

分类:CentOS运维 阅读:75734 次

前言:对于一个站点来说,查询静态页面的量显然多与动态页面的量,所以我们以配置两个web服务器,一个mysql服务器来组成简单的负载均衡站点,当然这显然还是不够的,因为php解析服务也与web服务在一起,不过由于php与web的分离还有些难度,暂时先不考虑,下面就以两个web服务器与一个mysql服务器为例。

客户端访问web服务器,需要DNS的解析,从DNS服务器那里查询得到web服务器的地址,我们在DNS服务器设置一个域名对应两个IP地址,实现web的轮询访问。A为主服务器,它部署了Apache与php,而数据库则独立在C服务器中,B通过NFS同步A中的数据,实现AB中数据一致,它的数据库服务器也指向C。

实验环境:RedHat5.8, A,B中安装部署系统自带的httpd-2.2.3,php-5.5.3,php-mysql,NFS-utils的RPM包,C中用自带的bind-9.7.0,mysql-5.0部署了DNS与mysql服务。 A的地址为172.16.1.20/16,B的地址为172.16.1.21/16,C的地址为172.16.1.1 (注,所有SELINUX,iptables已关闭),域名为www.test.com
CentOS部署双web服务器+单mysql服务器

一,C中部署MySQL服务器。

##yum安装mysql yum -y install mysql  ##启动mysqld服务端 service mysqld start ##为web服务器建立简单的库,与账号 mysql  ##启动客户端 mysql> create database web; ##创建数据库 mysql> grant all on web.* to 'web'@'172.16.1.20' identified by 'redhat'; ##为web1建立账号 mysql> grant all on web.* to 'web'@'172.16.1.21' identified by 'redhat'; ##为web2建立账号

 二,建立web服务器器A
 1,安装httpd,php,php-mysql,NFS-utils
 yum -y install httpd php53 php53-mysql nfs-utils ##redhat5.8自带了两个版本的php,我们用5.3的

2,查看/etc/httpd/conf/httpd.conf的默认文档目录,构建简单的workpress站点

DocumentRoot "/var/www/html"   ##由此可知文档目录 ##把下载的wordpress包解压到/var/www/html中 wget http://cn.wordpress.org/wordpress-3.4.2-zh_CN.tar.gz ##下载wordpress tar xvf wordpress-2.4.2-zh_CN.tar.gz ##解压 cp -R wordpress-3.4.2-zh_CN.tar.gz/* /var/www/html ##拷贝到/var/www/html中、 chown -R apache:apache /var/www/html ##更改属主属组

3,修改wordPress配置文件

cd /var/www/html/ cp wp-config-sample.php wp-config.php ##拷贝实例配置文件 vim wp-config.php define('DB_NAME', 'web'); ##修改数据库名字 define('DB_USER', 'web'); ##修改用户名 define('DB_PASSWORD', 'redhat'); ##修改密码 define('DB_HOST', '172.16.1.1'); ##mysql服务器地址

 4,启动httpd服务器,然后访问web服务器,安装wordpress
 service httpd start ##启动服务 ##在浏览器中访问172.16.1.20进入安装界面,简单设置即可
 5,启动NFS,共享/var/www/html
 ##编辑配置文件共享/var/www/html vi /etc/exports /var/www/html 172.16.1.21(rw) servie nfs start ##启动NFS
 6,检查是否共享成功
 showmount -e 172.16.1.20  ##查看是否共享成功 Export list for 172.16.1.20: ##出现以下字样代表成功了 /var/www/html 172.16.1.21 ###到此web1设置完毕
 三,建立web2服务器
 1,同步骤二第一步一致
 2,挂载web1的共享目录到/var/www/html
 mount -t nfs 172.16.1.20:/var/www/html /var/www/html ##挂载 ##访问 172.16.1.21测试是否能正常访问 如果能则正常
 四,在mysql中建立DNS服务器
 1,安装bind
 yum -y install bind97  ##安装RedHat5.3中版本较高的bind-5.3

2,修改/etc/named.conf

options { directory "/var/named"; } zone "." IN { type hint; file "named.ca"; }; zone "test.com" IN { type master; file "test.com.zone"; };

3,建立区域文件/etc/named/test.com.zone

 /etc/named/test.com.zone ##修改 $TTL 9000 @ IN SOA ns admin ( 2012102801 2H 5M 7D 2H ) IN NS ns ns IN A 172.16.1.1 www IN A 172.16.1.21 www IN A 172.16.1.20
 4,测试DNS服务器是否正常
 dig -t A www.test.com @127.0.0.1 如能正确解析则代表正常
 五,把测试客户端xp的本地连接的DNS改为 172.16.1.1,在浏览器中访问www.test.com测试访问,然后查看各自web服务器的access日志文件。如果都有记录代表一切正常。