【负载均衡】在centos下面做apache和tomcat的负载均衡 jktomcatapachelinux负载均衡
程序员文章站
2022-04-12 09:44:04
...
环境:一台台式机,win7系统,内装虚拟机,centos 6.3系统
win7: IP:10.129.30.211,虚拟机 IP:192.168.253.1
centos:IP:192.168.253.130
之前我试着使用在win32平台下进行负载均衡.发现无法启动.
所以转到linux下做.
首先在win下有tomcat 6.0 端口 8080
linux下有tomcat 7.0端口8080, apache 2.2.15 端口80
首先下载jk的源代码,已经提供源代码.
编译jk需要apache的另外一个工具apxs
可以使用yum install apxs进行安装.完成之后.
解压jk,转到native目录下,然后查看.building.txt 里面有关于编译的方法.
然后使用
进行安装.
完成之后,进入到
/etc/httpd/module下面可以看到有mod_jk.so
如果不存在,请移步
/usr/lib/httpd/module/mod_jk.so
赋值到/etc/httpd/module
然后编辑/etc/httpd/conf的几个文件
其方法可以参考网络上的。
一下提供我的这几个文件
测试访问,成功。
-------------------------------------------------------------------
还是之前的环境,现在换成apache在win下,tomcat在linux和win下各一个。
安装apache,然后下载mod_jk。
使用apache2.2.xx版本。
然后配置文件。
只用2个配置文件。 那个mod_jk.conf文件可以写入到httpd.conf中。
这里需要注意的是,在linux下需要对端口进行转发。
如果对于某台服务器在未开启或是出现故障的情况下,如果不设置访问超时会出现很慢的情况。
所以在workers.properties中,写入worker.tomcat1.socket_connect_timeout=300以毫秒计时
如我现在配置的。
win7: IP:10.129.30.211,虚拟机 IP:192.168.253.1
centos:IP:192.168.253.130
之前我试着使用在win32平台下进行负载均衡.发现无法启动.
所以转到linux下做.
首先在win下有tomcat 6.0 端口 8080
linux下有tomcat 7.0端口8080, apache 2.2.15 端口80
首先下载jk的源代码,已经提供源代码.
编译jk需要apache的另外一个工具apxs
可以使用yum install apxs进行安装.完成之后.
解压jk,转到native目录下,然后查看.building.txt 里面有关于编译的方法.
./configure --with-apxs=/usr/sbin/apxs
然后使用
make && make install
进行安装.
完成之后,进入到
/etc/httpd/module下面可以看到有mod_jk.so
如果不存在,请移步
/usr/lib/httpd/module/mod_jk.so
赋值到/etc/httpd/module
然后编辑/etc/httpd/conf的几个文件
其方法可以参考网络上的。
一下提供我的这几个文件
测试访问,成功。
-------------------------------------------------------------------
还是之前的环境,现在换成apache在win下,tomcat在linux和win下各一个。
安装apache,然后下载mod_jk。
使用apache2.2.xx版本。
然后配置文件。
只用2个配置文件。 那个mod_jk.conf文件可以写入到httpd.conf中。
这里需要注意的是,在linux下需要对端口进行转发。
如果对于某台服务器在未开启或是出现故障的情况下,如果不设置访问超时会出现很慢的情况。
所以在workers.properties中,写入worker.tomcat1.socket_connect_timeout=300以毫秒计时
如我现在配置的。
#server worker.list = controller #========tomcat1======== worker.tomcat1.port=8009 worker.tomcat1.host=127.0.0.1 worker.tomcat1.type=ajp13 worker.tomcat1.lbfactor = 1 worker.tomcat1.socket_connect_timeout=300 #worker.tomcat1.socket_timeout=300 #========tomcat2======== worker.tomcat2.port=8009 worker.tomcat2.host=192.168.253.130 worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor = 1 worker.tomcat2.socket_connect_timeout=300 #worker.tomcat2.socket_timeout=300 #========tomcat3======== worker.tomcat3.port=8009 worker.tomcat3.host=localhost worker.tomcat3.type=ajp13 worker.tomcat3.lbfactor = 1 worker.tomcat3.socket_connect_timeout=300 #worker.tomcat3.socket_timeout=300 #========tomcat4======== worker.tomcat4.port=8009 worker.tomcat4.host=192.168.253.1 worker.tomcat4.type=ajp13 worker.tomcat4.lbfactor = 1 worker.tomcat4.socket_connect_timeout=300 #worker.tomcat4.socket_timeout=300 #========tomcat3======== #worker.tomcat3.port=13009 #worker.tomcat3.host=192.168.0.80 //在我的虚拟机中的,可以算远程的吧 #worker.tomcat3.type=ajp13 #worker.tomcat3.lbfactor = 1 #worker.tomcat3.socket_timeout=300 #========controller,负载均衡控制器======== worker.controller.type=lb worker.controller.balanced_workers=tomcat1,tomcat2 worker.controller.sticky_session=false worker.controller.sticky_session_force=1 #worker.controller.sticky_session=1