设为首页 收藏本站
查看: 635|回复: 0

[经验分享] 使用apache+resin实现负载均衡设置

[复制链接]

尚未签到

发表于 2017-1-5 10:42:22 | 显示全部楼层 |阅读模式
  
    虽然网上也有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

到Apache的官方网站 http://www.Apache.org可以下载。
演示时使用的是httpd-2.0.59版本

[iyunv@yf3 liujt]# tar –xzvf httpd-2.0.59.tar.gz     //解压缩安装文件 
[iyunv@yf3 liujt]# cd httpd-2.0.59               //进入解压缩的文件 
[iyunv@yf3 httpd-2.0.59] # ./configure --prefix /usr/local/Apache2 -–enable-rewrite=shared --enable-speling=shared 
[iyunv@yf3 httpd-2.0.59] # make 
[iyunv@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

[iyunv@yf3 liujt]# tar –xzvf Resin-3.1.6.tar.gz     //解压缩安装文件 
[iyunv@yf3 liujt]# cd Resin-3.1.6                    //进入解压缩的文件 
[iyunv@yf3 Resin-3.1.6] # ./configure --prefix=/usr/local/Resin --withapxs=/usr/local/ 
Apache2/bin/apxs  
[iyunv@yf3 Resin-3.1.6] # make 
[iyunv@yf3 Resin-3.1.6] # make install

 
 
3  配置Resin

需要修改2台后服务器的Resin的配置文件Resin.conf,路径/usr/local/Resin/conf/Resin.conf,如果有多个Resin,均按此方式配置

[iyunv@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
[iyunv@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访问地址设为http://192.168.11.5:8080,需要如下配置
Listen 8080

 
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最后增加以下内容

LoadModule caucho_module /usr/local/Apache2/modules/mod_caucho.so 
ResinConfigServer 192.168.11.11 6805
ResinConfigServer 192.168.11.111 6806 
CauchoConfigCacheDirectory /tmp 
CauchoStatus yes


其中ResinConfigServer配置的是调用的Resin的设置的负载均衡器的IP地址和端口号
11.5的apach分别调用了11.11和11.111的两个Resin
11.11的Resin的负载生成器的配置为

<server id="a" address="192.168.11.11" port="6805"/>


11.111的Resin的负载生成器的配置为

<server id="a" address="192.168.11.111" port="6806"/>


5 访问测试


5.1. 编写测试页面


为了检查负载均衡是否生效,需要编写测试页面a.jsp,通过在web页面和各Resin的日志中显示的内容进行辨别,下面11.11的其中一个Resin为例说明

<%System.out.println("server 192.168.11.11");%>          //在Resin日志中显示 
server 192.168.11.11                                //在web页面显示


其他Resin的a.jsp参照上面的例子,只需要将其中的内容替换掉,例如11.111的a.jsp文件可以写成
<%System.out.println("server 192.168.11.111");%>          //在Resin日志中显示 
server 192.168.11.111                                  //在web页面显示


5.2 发布项目


1. Apche项目发布
将a.jsp文件放到设置的apche的虚拟目录中,演示的设置的虚拟目录是
DocumentRoot "/usr/local/Apache2/test"
因此需要将a.jsp放到/usr/local/Apache2/test目录下
2. Resin项目发布
分别将来两个a.jsp文件放到192.168.11.11和192.168.11.111设置的Resin的虚拟目录中,如果某Resin的虚拟目录是
<web-app id="/" root-directory="webapps/ROOT"/>
则需要将a.jsp放到Resin的webapps/ROOT目录下

5.3. 启动服务


1. 启动Apache
[iyunv@yf3 httpd-2.0.59] # /usr/local/Apache2/bin/httpd -f ./conf/httpd.conf
2. 分别启动调用的Resin

例如启动11.11的Resin-3.1.6中id为"a"的服务,需要在11.11服务器执行如下命令
[iyunv@ yf3 Resin-3.1.6] # / usr/local/Resin-web/bin/httpd.sh -server a start
启动11.111的Resin-3.1.6中id为"a"的服务,需要在11.111服务器执行如下命令
[iyunv@ localhost Resin-3.1.6] # / usr/local/Resin-web/bin/httpd.sh -server a start

5.4. 验证a.jsp


使用IE多次访问web发布页面,通过页面显示的内容和Resin日志打印的内容,检查是否随机调用各Resin的a.jsp文件。
Web页面的访问地址如下
http://192.168.11.5:8080/a.jsp
查看rensin的方法如下,如果要看查看11.111的Resin-3.1.6中id为"a"服务的日志,需要在11.111服务器执行如下命令
[iyunv@ localhost Resin-3.1.6] # tail –f / usr/local/Resin-3.16 /log/a.log

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-324178-1-1.html 上篇帖子: Apache Commons fileUpload实现文件上传 下篇帖子: 使用SSH 进行压力测试(apache ab)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表