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

时间:2014-09-12 01:54来源:blog.51cto.com 作者:老广 的BLOG 举报 点击:

前言:对于一个站点来说,查询静态页面的量显然多与动态页面的量,所以我们以配置两个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

一,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日志文件。如果都有记录代表一切正常。
------分隔线----------------------------
发表评论
为了和诣的生活,我关闭了评论页面,请大家到QQ群里交流吧:348944156,也欢迎关注本站微信公众号:centoscn