LAMP架构下的负载均衡

由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。在此情况下,我们就必须对服务器做负载均衡设置。本文正是基于LAMP下的对discuz论坛负载均衡的实现。在此所有软件均是rpm包安装的。

实验环境

首先关闭SELinux。本文网络拓扑如下:650) this.width=650;” border=”0″ alt=”” src=”http://cdn.verydemo.com/upload/2013_04_16/13660691473060.png” />在192.168.0.72主机上提供了上述服务,并安装Discuz论坛。192.168.0.22主机上则通过72主机上共享的数据同样能够管理Discuz。由于72主机负载较大所以在22主机上配置DNS服务。具体的配置过程如下。

实验步骤

1、首先配置192.168.0.72主机

LAMP的安装在此不再赘述,下面直接介绍如何安装Discuz。安装Discuz

    #mkdir-pv/web/vhosts/discuz #unzipDiscuz_7.2-FULL_SC_GBK.zip-d/web/vhosts/discuz#ls/web/vhosts/discuzreadmeuploadutilities//Discuz的网页文件存放在upload目录 编辑httpd配置文件创建虚拟主机 启用NameVirtualHost*:80vim/etc/httpd/conf/httpd.conf <VirtualHost*:80> ServerNamediscuz.mgedu.com DocumentRoot/web/vhosts/discuzErrorLog/web/vhosts/log/error_log CustomLog/web/vhosts/log/access_logcombined <Directory"/web/vhosts/discuz"> Optionsnone AllowOverridenone </Directory> </VirtualHost>#servicehttpdrestart

此时直接访问http://192.168.0.72/upload会出现Discuz的提示页面。如下图:650) this.width=650;” >根据提示编辑/etc/php.ini文件,设置short_open_tag=On。刷新页面,此时便会跳转到下一个安装页面。如下图:650) this.width=650;” border=”0″ alt=”” src=”http://cdn.verydemo.com/upload/2013_04_16/13660691473112.png” />提示为目录或文件的权限设置不正确。这是因为Discuz的这些文件不能被Apache用户读写,所以只需让Apache对这些目录和文件有相应的权限即可。在此使用setfacl命令。如:setfacl -m u:apache:rw ./config.inc.phpsetfacl -m u:apache:rwx ./attachments //这是个目录所有一定要有执行权限其他目录执行相同的操作。刷新页面,一切正常。根据安装提示,完成安装后便会显示如下界面。如图:650) this.width=650;” border=”0″ alt=”” width=”597″ height=”269″ src=”http://cdn.verydemo.com/upload/2013_04_16/13660691473123.png” />

Discuz已安装成功。2、配置192.168.0.22主机

(1)配置DNS

    #rpm-ebind #yum-yinstallbind97bind97-libsbind97-utils #vim/etc/named.conf//编辑DNS的配置文件 options{ directory"/var/named"; }; zone"magedu.com"IN{ typemaster; file"magedu.com.zone"; }; zone"168.192.in-addr.arpa"IN{ typemaster; file"168.192.zone"; };

其实配置文件中还有两个本地域和一个根域,在此不再做详解。下面开始编写所需域文件。

    #cd/var/named #vimmagedu.com.zone $TTL600 $ORIGINmagedu.com. @INSOAns.magedu.com.admin.magedu.com.( 2012061401 30M 10M 3D 1D) INNSns nsINA192.168.0.22 discuzINA192.168.0.22 discuzINA192.168.0.72

编辑反向域。

    #vim168.192.zone $TTL600 @INSOAns.magedu.com.admin.magedu.com.( 2012061401 30M 10M 3D 1D) INNSns.magedu.com. ns.magedu.comINA192.168.0.22 22.0INPTRdiscuz.magedu.com. 72.0INPTRdiscuz.magedu.com.

文件编辑完成后,执行如下命令:#chown :named magedu.com.zone#chmod +x magedu.com.zone#chown :named 168.192.zone#chmod +x 168.192.zone检查配置文件和域。如图:650) this.width=650;” >

测试解析结果,查看DNS是否实现了轮询。650) this.width=650;” border=”0″ alt=”” src=”http://cdn.verydemo.com/upload/2013_04_16/13660691473145.png” />650) this.width=650;” border=”0″ alt=”” src=”http://cdn.verydemo.com/upload/2013_04_16/13660691473146.png” />

(2)安装Apache

    #yum-yinstallhttpd #servicehttpdstart

(3)安装Mysql

    yum-yinstallmysqlmysql-server servicemysqldstart

安装完成后,使命mysql命令对数据进行初始化。然后对root用户设置密码。

    usemysql//使用mysql数据库 setpasswordforroot@'localhost'=password('redhat') //为root用户设置密码为redhat

(4)安装php

    yum-yinstallphp53php53-mbstringphp53-mysql servicehttpdrestart//重启web服务

安装php后,要整合Apache和Php。

    #vim/etc/httpd/conf/httpd.conf//编辑web的配置文件 DirectoryIndexindex.phpindex.htmlindex.html.var //让web识别php文件 在/var/www/html目录下添加index.php<?phpphpinfo();?>

访问http://192.168.0.72,此时会出现如下界面:650) this.width=650;” >

此时说明Apache和Php已整合成功。三、整合两台主机1、在192.168.0.72主机上(1)启动nfs服务(2)共享网页文件

    #vim/etc/exports /web/vhosts/discuz/upload192.168.0.22(rw,no_root_squash)

(3)设置数据库。允许特定主机访问数据库。

    mysql>grantallondiscuz.*todiscuz@'%.%.%.%' identifiedby'discuz'; mysql>flushprivileges;

2、在192.168.0.22主机上(1)测试连接数据库

    #vim/var/www/html/index.php <?php$link=mysql_connec('192.168.0.72','discuz','discuz'); if($link) echo"Success..."; else echo"Failure"; mysql_close(); ?>

访问http://192.168.0.22650) this.width=650;” border=”0″ alt=”” src=”http://cdn.verydemo.com/upload/2013_04_16/13660691473168.png” />测试成功。

(2)配置虚拟主机

    #vim/etc/httpd/conf/httpd.conf 启用NameServer*:80 <VirtualHost*:80>ServerNamediscuz.magedu.com DocumentRoot/web/vhosts/ ErrorLog/web/vhosts/log/error_log CustomLog/web/vhosts/log/access_logcombined <Directory"/web/vhosts">Optionsnone AllowOverridenone </Directory></VirtualHost>

(3)挂载网页文件

    #mkdir-p/web/vhosts #mount-tnfs192.168.0.72:/web/vhosts/discuz/upload/web/vhosts #ls/web/vhosts//此时网页文件已在此目录下

(4)修改config.inc.php文件,指定数据库。

    #cd/web/vhosts #vimconfig.inc.php $dbhost='192.168.0.72'define('UC_DBHOST','192.168.0.72'); define('UC_IP','192.168.0.72'); #vim/etc/php.ini short_open_tag=On

(5)访问http://192.168.0.22。650) this.width=650;” border=”0″ alt=”” width=”594″ height=”264″ src=”http://cdn.verydemo.com/upload/2013_04_16/13660691473179.png” />

此时两台主机都可以访问论坛。之后输入域名访问论坛,查看各自定义的日志文件就会发现两台主机都有访问论坛记录。此时配置已完成。

愚者用肉体监视心灵,智者用心灵监视肉体

LAMP架构下的负载均衡

相关文章:

你感兴趣的文章:

标签云: