您的位置:首页 > 其它

DNS轮询 + LAMP + NFS

2014-08-18 22:11 183 查看
整体架构图。



架构使用操作系统:
DNS+HTTP1 HTTP2 NFS 主机均使用CentOS6.5 x86_64操作系统。
MariaDB主机采用Ubuntu Server12.04 x86_64 操作系统。

一.NFS网络文件系统简介:
network file system,一种分散式文件系统协议,主要功能是让网络上不同的主机,不同的操作系统共同访问一个文件,允许不同客户端及服务端通过一组RPC分享相同的文件系统,NFS独立于操作系统。

二.安装MariaDB,二进制源码包安装。
默认安装的时候,Ubuntu是没有安装lvm相关命令的。
刚安装好的系统要指定软件包源地址。我这边是apt-get update。
1.)创建lvm逻辑卷。
#apt-get install lvm2
其他的部分都是一样的。
# fdisk /dev/sdb
# pvcreate /dev/sdb1
# vgcreate data_vg /dev/sdb1
# lvcreate –L 10G –n data_lv data_vg
# lvs
LV      VG     Attr   LSize  Origin Snap% Move Log Copy%  Convert
data_lvdata_vg -wi-ao 10.00g


2.)创建数据目录,并挂载。
# mkdir /MySQL
# mount /dev/data_vg/daya_lv /MySQL
# df -lh
/dev/mapper/data_vg-data_lv  9.8G  61M  9.2G   1% /MySQL


3.)创建用户 组,修改/MySQL属组。
# groupadd –r mysql
# useradd –g mysql –r mysql
# chgrp mysql /MySQL


4.)解压MariaDB,初始化安装。
# cd /usr/local/
# tar xf mariadb-5.5.36-linux-x86_64.tar.gz
# ln -sv mariadb-5.5.36-linux-x86_64 mysql
# cd mysql
# chown -R mysql:mysql *
# cp support-files/my-large.cnf /etc/my.cnf
# cp support-files/mysql.server /etc/init.d/mysqld
# ./scripts/mysql_install_db --user=mysql--datadir=/MySQL/data
# /etc/init.d/mysqld start
数据库环境准备完成

二.开始安装http,因为之前安装过,直接打包复制出来一份,这次解压就可以使用了。
1.)只需要安装pcre,如果想自己手动编译,之前文章有LAMP手动编译安装的。
#yum install pcre-devel


2.)解压好后的http。

# ls
apr-1.5 apr-util  httpd  httpd-2.4.4-linux-x86_64.tar.gz  httpdconf Sys-httpd

# mv apr-1.5/ apr-util/ httpd/ /usr/local/
# mv httpdconf/ /etc/httpd
# mv Sys-httpd /etc/init.d/httpd
# chkconfig --add httpd
# service httpd start
[  OK  ]


3.)查看进程。
# ps aux | grep httpd
root     1429  0.0  0.9 76940  2228 ?        Ss  18:26   0:00/usr/local/httpd/bin/httpd
daemon   1431  0.0  0.8 421200 2040 ?        Sl   18:26  0:00 /usr/local/httpd/bin/httpd
daemon   1432  0.0  0.8 421200 2040 ?        Sl   18:26  0:00 /usr/local/httpd/bin/httpd
daemon   1433  0.0  0.8 421200 2048 ?        Sl   18:26  0:00 /usr/local/httpd/bin/httpd
root     1516  0.0  0.3 103244  860 pts/0    S+   18:27  0:00 grep httpd


4.)访问http1的首页。




5.)第二个http主机也是同样的安装方法。



三.开始安装DNS,详细步骤不再演示。
1.)修改主配置文件
# vim /etc/named.rfc1912.zones
zone "zhang.com" IN {
typemaster;
file"zhang.com.zone";
};


2.)创建zhang.com.zone配置文件。
# vim /var/named/zhang.com.zone
$TTL 600
@      IN      SOA     ns1.zhang.com.  admin.zhang.com. (
2014081807
2H
10M
7D
1D
)
IN      NS      ns1
IN      MX      10     mail.zhang.com.
ns1    IN      A       172.16.32.10
www    IN      A       172.16.32.10
www    IN      A       172.16.32.11
~

3.)重启dns 。

# /etc/init.d/named restart
Stopping named:                                           [  OK  ]
Starting named:                                            [ OK  ]
注意权限问题。

4.)开始修改两个http主机配置文件,修改主机名,测试DNS解析,域名相同。
ServerName www.zhang.com:80


5.)开始解析测试。
# cat /etc/resolv.conf
nameserver 172.16.32.10

# nslookup
> www.zhang.com
Server:       172.16.32.10
Address:   172.16.32.10#53

Name:  www.zhang.com
Address: 172.16.32.11
Name:  www.zhang.com
Address: 172.16.32.10


四.开始安装php。
1.)安装依赖包。
# yum -y groupinstall "Desktop PlatformDevelopment"
# yum -y install bzip2-devel libmcrypt-devel


2.)解压安装php。
# tar xf php-5.4.8-linux-x86_64.tar.gz
# ls
php5 php-5.4.8-linux-x86_64.tar.gz php-fpm  php.ini
# mv php5/ /usr/local/
# mv php-fpm /etc/init.d/php-fpm
# mv php.ini /etc/
# chkconfig --add php-fpm

#  vim /usr/local/php5/etc/php-fpm.conf
listen = 172.16.32.12:9000


3.)启动php,查看进程。
# service php-fpm start
Starting php-fpm done

# ps -ef | grep php
root     1448     1  0 18:46 ?        00:00:00 php-fpm: master process(/usr/local/php5/etc/php-fpm.conf)
nobody   1449  1448  0 18:46 ?        00:00:00 php-fpm: pool www
nobody   1450  1448  0 18:46 ?        00:00:00 php-fpm: pool www
nobody   1451  1448  0 18:46 ?        00:00:00 php-fpm: pool www
nobody   1452  1448  0 18:46 ?        00:00:00 php-fpm: pool www
nobody   1453  1448  0 18:46 ?        00:00:00 php-fpm: pool www


五.开始结合php和http,程序包只是在刚安装好的时候打包的,里面的配置文件还是初始文件。
1.)修改httpd.conf配置文件。
# vim /etc/httpd/httpd.conf

#启用代理模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_modulemodules/mod_proxy_fcgi.so

#修改网页根目录
DocumentRoot "/var/www/php"
<Directory "/var/www/php">
…

#使http支持php页面
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

#关闭正向代理,修改为php主机地址
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$fcgi://172.16.32.12:9000/var/www/php/$1


2.)创建对应的目录,重启httpd。
# mkdir -pv /var/www/php
# service httpd restart
Stopping httpd:                                           [  OK  ]
Starting httpd:                                           [  OK  ]


3.)另外一台http主机相同配置。
# scp /etc/httpd/httpd.conf172.16.32.10:/etc/httpd/httpd.conf


4.)切换到php主机,创建相对应的目录,并且创建php测试页。
# mkdir -pv /var/www/php
# vim /var/www/php/index.php
<?php
phpinfo();
?>


5.)访问两个测试页,看看http结合php是否正常。







httd结合php已经正常,开始创建NFS文件系统。

六.切换到nfs主机。
1.)创建文件共享目录,添加要共享的主机地址,给予读写权限。
#mkdir /share/nfs -pv
# vim /etc/exports
/share/nfs 172.16.32.10(rw) 172.16.32.11(rw)172.16.32.12(rw)


2.)启动nfs。
# /etc/init.d/nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]


3.)创建一个测试文件,看其他被共享主机是否可以看到。
# touch /share/nfs/test


4.)切换到http主机,挂载。如果showmount命令没有的话,是需要安装的。
# showmount -e 172.16.32.20
Export list for 172.16.32.20:
/share/nfs 172.16.32.12,172.16.32.11,172.16.32.10

# mount -t nfs 172.16.32.20:/share/nfs /var/www/php/
# cd /var/www/php/
ls
test


现在已经可以看得到测试文件了,把另外一台http主机和php主机同样的方法挂载上。

七.这时候就可以下载Discuz论坛安装了。将软件包放到nfs主机共享目录上。
1.)解压Discuz,给/upload下的文件相对应的权限。
# pwd
/share/nfs
# unzip Discuz_X3.2_SC_GBK.zip

# chmod -R go+w upload/
# chmod -R go+w config/
# chmod -R go+w uc_*


2.)回到数据库,创建数据库,创建帐号。
MariaDB [(none)]> CREATE DATABASE bbsdb;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> GRANT ALL ON bbsdb.* TO'bbsAdmin'@'172.16.32.12' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.01 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)


3.)开始安装Discuz论坛。








论坛通过nfs文件系统安装完成

总结:如果不想使用nfs文件系统,需要在被共享主机卸载掉挂载目录,才能进行关机操作,不然正常关机会卡住。
DNS轮询的时候权重分配的不是很理想,可能刷新的时候,一直访问的是一个IP地址。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  network 二进制 system