DNS HTTPD PHP NFS ----综合应用
工作模型简述:
利用DNS服务器的域名解析实现简单的轮询,利用两台httpd服务器实现简单的负载均衡。NFS作为网站资源的根目录。两个httpd共享一个mysql服务存储
实验拓扑图:
编译安装bind9
软件包为bind-9.9.6b1.tar.gz
解压:tar -xf bind-9.9.6b1.tar.gz
Cd bind-9.9.6b1
./configure --prefix=/usr/local/bind9
--sysconfdir=/etc/named/name.conf
--disable-ipv6
--enable-threads
--disable-chroot
编译安装:make && make install
编辑配置文件:
为hefeng.com域提供解析文件
Vim /var/named/hefeng.com.zone内容如下:
DNS配置完成
测试是否能完成轮询
安装httpd服务器并整合php模块
软件包为httpd-2.4.10.tar.gz
apr-1.5.1.tar.gz
apr-util-1.5.3.tar.gz
首先安装apache可移植运行环境
./configure --prefix=/usr/local/apr-1.5
Make && make install
./configure --prefix=/usr/local/apr-util-1.5 --with-apr-util=/usr/local/apr-1.5
Make && make install
解压:tar -xf httpd-2.4.10.tar.gz
cd httpd-2.4.10
./configure
--prefix=/usr/local/apache1
--sysconfdir=/etc/apache1
--enable-so
--enable-modules=most
--enable-mpms=all
--enable-mpm-share=all
--enable-mpm=event
--enable--ssl
--enable-cgi
--enable-rewrite
--with-zlib
--with-pcre
--with-apr=/usr/local/apr-1.5
--with-apr-util=/usr/local/apr-util-1.5
Make && make install
安装php
软件包为:php-5.4.26.tar.bz2
解决依赖关系: yum install gd-devel --libmcrypt-devel
编译配置为
./configure
--prefix=/usr/local/php1
--with-config-file-path=/etc/php1
--with-config-scan-dir=/etc/php1.d
--enable-mbstring
--with-freetype
--with-jpeg-dir
--with-png-dir
--writh-zlib
--with-libxml-dir=/usr
--enable-xml
--with-apxs2=/usr/local/apache1/bin/apxs
--enable-maintainer-zts
--with-mysql=mysqlnd
--with-mysqli=mysqld
Make && make install
编辑配置文件:vim /etc/apache1/httpd.conf
添加如下内容
php模块会在安装完成后自动添加
ServerName www.hefeng.com
Listen 172.16.101.35:80
Addtype application/x-httpd-php .php
AddType application/x-httpd-source .phps
安装完成第一个主机
测试如下:
由于客户端主机会有DNS缓存所以这里直接用ip地址测试
同样的方法在同一台主机安装另一个httpd+php只不过将apache1改成apache2 php1改成php2注意在同一主机安装apache2时apr和apr-util要重新安装一份否则第二台主机无法启动监听进程 这里不再赘述
另外要编辑vim /etc/apache2/httpd.conf监听第二块网卡端口如下图:
测试如下图:
准备安装mariadb服务器:
软件包为二进制版本:mariadb-5.5.36-linux-x86_64.tar.gz
安装步骤如下:
首先创建系统用户mysql
Useradd -r -s /sbin/nologin -d /mydata
解压安装包
Tar -xf mariadb-5.5.36-linux-x86_64.tar.gz -C /usr/local/
创建软链接:
Ln -sv mariadb-5.5.36-linux-x86_64 mysql
进入mysql目录修改属组和属主
Chown -R mysql:mysql ./*
运行如下命令
./scripts/mysql_install_db --user=mysql --datadir=/mydata
而后修改文件属主
Chown -R root ./*
为mysql创建配置文件
cp support-files/my-large.cnf /etc/my.cnf
修改配置文件vim /etc/my.cnf
创建sysv启动脚本
cp support-files/mysql.server /etc/init.d/mysqld
Chkconfig -add mysqld
导出二进制文件
Vim /etc/profile.d/mysqld.sh
执行命令使其生效
source !$
为root账号穿件密码
Mysqladmin -uroot password ‘hzm132’
启动mysql
Service mysqld start并测试
至此mariadb安装成功
下面创建NFS共享:
Vim /etc/exports 内容如下:
共享目录为/myweb
创建目录mkdir /myweb
将Discuz安装文件upload放入此目录
并修改权限因为apache以daemon用户运行所以
Chown -R daemon:daemon /myweb
Chmod -R 755 /myweb
NFS及安装文件准陪完毕。
创建安装站点的数据库
mysql -uroot -p -e "create databse myweb"
mysql -uroot -p -e "grant all on myweb.* to 'myweb'@'172.16.101.35' identified by 'hzm132'"
mysql -uroot -p -e "grant all on myweb.* to 'myweb'@'172.16.101.36' identified by 'hzm132'"
mysql -uroot -p -e "flush privileges"
查看
好了数据准备完毕
现在到apache服务器挂在NFS共享的文件到站点根目录
mount -t nfs 172.16.101.100:/myweb /usr/local/apache2/htdocs/
mount -t nfs 172.16.101.100:/myweb /usr/local/apache1/htdocs/
开始安装过程选任意主机都可安装过程不再赘述 详情参考上篇博客
测试:
上传数据通过任意主机都可访问
注册一个账户
登陆成功
现在换另一主机看能否登陆
登陆成功实现数据的共享