上周六参加了51CTO的负载均衡的技术沙龙,主要是基于LVS的负载均衡,受益匪浅,开阔了思路,回去要好好研究一下.
其实使用
web服务器自身的设置也能达到负载均衡的目的,我们公司使用的web服务器是resin,resin自生就可以进行负载均衡设置,但是只有professional版本才支持,这个东西的license一个CPU要$500,所以实际使用的
Apache+resin的组合(免费嘛:)),由于公司的系统只有运营商和CP会登录访问,并发压力并不大,使用负载均衡主要是为了防止系统死掉后无法登录,所以这样的设计基本够用了。如果并发访问量很大的话,就应该考虑在apache前面加squid做cache、通过dns轮寻等方案了。
虽然网上也有apache+resin进行负载均衡设置的例子,但是由于apach和resin不同版本的配置的配置文件有一定的差距,按照网上的资料不一定能设置成功,下面的例子是在linux环境下使用httpd-2.0.59和Resin-3.1.6进行负载均衡设置的,如果使用其他版本请参考apache和resin官方网站的配置说明
需要准备3台linux机器(如果是在没有,可以先用一台机器熟悉一下),每台机器都要安装apache和resin(其实1台装apach,另外2台装resin就够用了,,之所以要全装是为了以后的扩展考虑),其中一台作为前端服务器(apache),另外2台作为后台服务器(resin)
1 演示环境
192.168.11.5:前端服务器
192.168.11.111:后台服务器
192.168.11.11:后台服务器
2 安装Apache
[root@yf3 liujt]# tar –xzvf httpd-2.0.59.tar.gz //解压缩安装文件
[root@yf3 liujt]# cd httpd-2.0.59 //进入解压缩的文件
[root@yf3 httpd-2.0.59] # ./configure --prefix /usr/local/Apache2 -–enable-rewrite=shared --enable-speling=shared
[root@yf3 httpd-2.0.59] # make
[root@yf3 httpd-2.0.59] # make install
完成以上操作后,进入/usr/local/Apache2,发现Apache已经安装完成.
3 安装Resin
到Resin的官方网站可以下载
演示时使用的是Resin-3.1.6版本
和普通安装Resin的方式有一点区别,Resin要联合Apache安装,也就是使用参数--with-Apache=/usr/local/Apache2
[root@yf3 liujt]# tar –xzvf Resin-3.1.6.tar.gz //解压缩安装文件
[root@yf3 liujt]# cd Resin-3.1.6 //进入解压缩的文件
[root@yf3 Resin-3.1.6] # ./configure --prefix=/usr/local/Resin --withapxs=/usr/local/
Apache2/bin/apxs
[root@yf3 Resin-3.1.6] # make
[root@yf3 Resin-3.1.6] # make install
3 配置Resin
需要修改2台后服务器的Resin的配置文件Resin.conf,路径/usr/local/Resin/conf/Resin.conf,如果有多个Resin,均按此方式配置
[root@yf3 Resin-3.1.6] # vi /usr/local/Resin/conf/Resin.conf
3.1 配置默认的负责均衡
找到配置文件中的<!-- define the servers in the cluster -->,修改负载均衡配置,需要设置服务的ID、IP和port,例如192.168.11.11的设置如下
<server id="a" address="127.0.0.1" port="6805"/>
如果同一个项目要启动多个服务,可以配置多项,但是要使用不同的id名称和port,例如:
<server id="a" address="127.0.0.1" port="6805"/>
<server id="b" address="127.0.0.1" port="6806/>
如果要在同一个resin中部署多个项目,可以设置不同的配置文件,指向不同的虚拟目录来实现,启动resin时启动不同的配置文件即可.
4 配置Apache
需要对前端程序(192.168.11.5)的apach的配置文件httpd.conf进行修改,路径:/usr/local/Apache2/conf/httpd.conf
[root@yf3 Resin-3.1.6] # vi /usr/local/Apache2/conf/httpd.conf
4.1 修改监听接口
找到配置文件中的Listen 80,此端口是在web页面访问时使用的端口,例如安装apache的服务器IP是192.168.11.5,如果web的需要将web访问地址设为
4.2 修改DocumentRoot
找到配置文件中的DocumentRoot配置
DocumentRoot "/usr/local/Apache2/htdocs"
修改为实际需要的路径,例如改为实际的发布路径为/usr/local/Apache2/htdocs/test,就需要改成以下形式
DocumentRoot "/usr/local/Apache2/htdocs/test"
4.3 Directory
找到配置文件中的Directory配置
<Directory "/usr/local/Apache2/htdocs">
修改为实际需要的路径,例如改为实际的发布路径为/usr/local/Apache2/htdocs/test,就需要改成以下形式
<Directory "/usr/local/Apache2/htdocs/test">;
4.4 修改DirectoryIndex
找到配置文件中的DirectoryIndex配置
DirectoryIndex index.html index.html.var
增加index.jsp。修改为:
DirectoryIndex index.jsp index.html index.html.var
4.5 修改Rensin相关配置
在apache的配置文件httpd.conf最后增加以下内容
查看所有0条评论>>