两台web服务器做文件共享,负载均衡
服务器环境:httpd、php、MySQL、DNS、NFS
共配置4台虚拟机,web服务各一台,PHP、DNS一台,MySQL、NFS一台。
网段使用172.16.0.0/16
注:httpd,php,DNS服务在此前的博客中有详细说明,这里就不在详细演示,在此前的基础上追加安装,MySQL,NFS
一、安装mysql-5.5.33
下载mysql-5.5.33-linux2.6-x86_64.tar.gz软件包
1、准备数据存放的文件系统
因为数据总是在动态增长的,所以我们要创建一个逻辑卷来保存数据。使用/dev/sdb1这个分区来创建逻辑卷。
1)准备磁盘为LVM格式
2)创建lvm并格式化
2、设置开机自动挂载
这里假设其逻辑卷的挂载目录为/data,而后需要创建/mydata/data目录做为mysql数据的存放目录。
[root@mysql-server ~]#vim /etc/fatab
/dev/mapper/myvg-mylv /mydata/data ext4 defaults 0 0
3、查看挂载情况
[root@mysql-server ~]#mkdir -p /mydata/data
[root@mysql-server ~]#mount -a
4、为mysql准备系统用户和组
5、修改属主和属组
6、解压mysql软件包并查看配置文档。开始配置就可以了
[root@mysql-server~]#tarxf mysql-5.5.33-linux2.6-x86_64.tar.gz -C/usr/local/mysql
7、进入/usr/local/mysql文件夹,修改属主与属组
[root@mysql-servermysql]# chown -R root:mysql .
8、初始化系统库,进入到/usr/local/mysql
9、为mysql提供主配置文件my.cnf,并修改此文件中thread_concurrency的值为你的CPU个数乘以2,另外还需要添加如下行指定mysql数据文件的存放位置
[root@mysql-server
~]# cd /usr/local/mysql
[root@mysql-server ~]# cp support-files/my-large.cnf /etc/my.cnf
10、为mysql提供sysv服务脚本并添加为系统服务
11、启动mysql服务,看能否正常启动
[root@mysql-server mysql]#/etc/init.d/mysqld start
12、后续操作
为了使用mysql的安装符合系统使用规范,并将其开发组件导出给系统使用,这里还需要进行如下步骤:
1)输出mysql的man手册至man命令的查找路径:
2)输出mysql的头文件至系统头文件路径/usr/include:
这可以通过简单的创建链接实现:
# ln -sv /usr/local/mysql/include /usr/include/mysql
3)输出mysql的库文件给系统库查找路径:
4)修改PATH环境变量,让系统可以直接使用mysql的相关命令。具体实现过程这里不再给出。
# vim /etc/profile.d/mysql.sh
#export PATH=/usr/local/mysql/bin:$PATH
#. /etc/profile.d/mysql.sh
5)启动MySQL
二、安装NFS
1、nfs安装:
2、创建NFS共享目录
mkdir -p /apache/www
3、配置NFS服务
vim /etc/exports
/apache/www/ 172.16.0.0/16(rw)
4、从PHP服务器上把index.php复制到NFS的共享目录下
[root@mysql-server/]# scp root@172.16.20.3:/var/www/html/index.php /apache24/www/index.php
Theauthenticity of host ‘172.16.20.3 (172.16.20.3)‘ can‘t be established.
RSA key fingerprintis bf:63:ab:54:77:2c:21:88:2f:9a:3f:f8:82:1e:0f:b5.
Are you sureyou want to continue connecting (yes/no)? yes
Warning:Permanently added ‘172.16.20.3‘ (RSA) to the list of known hosts.
root@172.16.20.3‘spassword:
index.php 100% 154 0.2KB/s 00:00
5、在PHP服务器上挂着NFS目录
mount -t nfs172.16.20.3:/apache24/www/ /var/www/html/
如果想开机自动挂载,可以写在/etc/fstab中
6、启动NFS
安装完后,测试http能不能通过PHP连接NFS作共享服务
先在NFS服务器上,添加共享文件,并且为MySQL数据库创建用户
添加共享文件
在mysql服务器上为PHP服务器授权。index.php中要连接数据库,必须要获得mysql的授权
测试http能不能通过PHP连接NFS作共享服务
第一台web服务
第二台web服务
继续检测能否在连接到MySQL数据库,上面的步骤中,我们已经为PHP创建过用户了,这里不在演示
第一台web服务器
第二台web服务器
连接成功!
接下就要配置DNS,搭建论坛了。
1、安装DNS
yum -y install bind
2、配置DNS服务
vim /etc/named.conf
[root@php-server ~]# vim /etc/named.conf
listen-on port 53 {172.16.20.1; };
// listen-on-v6 port 53 { ::1;};
directory "/var/named";
// dump-file "/var/named/data/cache_dump.db";
// statistics-file"/var/named/data/named_stats.txt";
memstatistics-file"/var/named/data/named_mem_stats.txt";
allow-query { any; };
recursion yes;
rrset-order {
class IN type Aname "www.hyd.com" order cyclic;
};
// dnssec-enable yes;
// dnssec-validation yes;
// dnssec-lookaside auto;
/* Path to ISC DLV key */
// bindkeys-file"/etc/named.iscdlv.key";
// managed-keys-directory"/var/named/dynamic";
};
logging {
channel default_debug {
file"data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
//include "/etc/named.root.key";
vim /etc/named.rfc1912.zones
添加:
zone "hyd.com" IN {
type master;
file"hyd.com.zone";
};
[root@php-server ~]# vim /var/named/hyd.com.zone
$TTL 600
@ IN SOA dns.hyd.com. hydmail.com. (
20140816
3H
1H
1W
1D)
IN NS dns.hyd.com.
dns IN A 172.16.20.3
www IN A 172.16.20.1
www IN A 172.16.20.2
[root@php-server ~]# chown root:named /var/named/hyd.com.zone
[root@php-server ~]# chmod 640 /var/named/hyd.com.zone
[root@php-server ~]# named-checkconf
[root@php-server ~]# named-checkzone hyd.com /var/named/hyd.com.zone
zone hyd.com/IN: loaded serial 20140816
OK
[root@php-server ~]# /etc/init.d/named restart
Stopping named: . [ OK ]
Starting named: [ OK ]
[root@php-server ~]# tail/var/log/messages
在APACHE服务器上测试DNS能否轮训
安装完成后,在NFS服务器上搭建论坛
准备两个论坛安装包,并且解压
并且确认它可以同步到PHP服务器上,然后就可以测试了。
测试前,请先更改真实机的DNS避免访问到网络地址
搭建完成,并且测试成功。
由于本人才疏学浅,请各位看官见谅,欢迎提出意见