配置tomcat
1.下载tomcat
~]# cd /root/download/
~]# wget wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.57/bin/apache-tomcat-8.5.57.tar.gz --no-check-certificate
~]# tar -zxf apache-tomcat-8.5.57.tar.gz -C /usr/local/
~]# cd !$
~]# mv apache-tomcat-8.5.57 tomcat1
~]# cp -rp tomcat1 tomcat2
2.修改tomcat配置文件
~]# cd /usr/local/tomcat1/conf/
~]# vim server.xml #修改端口,只要让tomcat1和tomcat2端口不冲突即可
3.修改tomcat的默认页面
~]# cd /usr/local/tomcat1/webapps/ROOT/ #如果没有此目录,可以自己创建一个,然后创建一个index.jsp
~]# echo 'this is tomcat1' > index.jsp
~]# cd /usr/local/tomcat2/webapps/ROOT/
~]# echo 'this is tomcat2' > index.jsp
4.启动tomcat
~]# sh /usr/local/tomcat1/bin/startup.sh
~]# sh /usr/local/tomcat2/bin/startup.sh
配置haproxy
1.yum安装haproxy
haproxy在base源中,使用yum info haproxy查看
~]# yum install haproxy
2.备份并修改配置文件
~]# cd /etc/haproxy/
~]# cp -p haproxy.cfg haproxy.cfg.bak
haproxy.cfg
global
# to have these messages end up in /var/log/haproxy.log you will
# need to:
#
# 1) configure syslog to accept network log events. This is done
# by adding the '-r' option to the SYSLOGD_OPTIONS in
# /etc/sysconfig/syslog
#
# 2) configure local2 events to go to the /var/log/haproxy.log
# file. A line like the following can be added to
# /etc/sysconfig/syslog
#
# local2.* /var/log/haproxy.log
#
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
# turn on stats unix socket
stats socket /var/lib/haproxy/stats
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
frontend main *:5000
#acl url_static path_beg -i /static /images /javascript /stylesheets
#acl url_static path_end -i .jpg .gif .png .css .js
acl url_tomcat path_beg -i / ##也可以直接使用default_backend
#use_backend static if url_static
use_backend tomcat if url_tomcat
#default_backend tomcat
backend tomcat
balance roundrobin
server tomcat1 192.168.99.105:30001 check weight 1
server tomcat2 192.168.99.105:30002 check weight 1
添加haproxy日志
以上配置默认是没有haproxy日志输出的,虽然global中配置了log,但是需要在rsyslog中开启相应配置
#修改/etc/rsyslog.conf文件
1.去掉$ModLoad imudp和$UDPServerRun 514这两行的日志
2.在文件尾部添加 local2.* /var/log/haproxy/haproxy.log #haproxy文件夹默认不存在,需要创建
# local2是在haproxy配置文件的global中配置的名字
访问
curl http://192.168.99.105:5000 #多次访问可以发现haproxy是进行了负载均衡的。在浏览器中可能会有缓存而导致始终出现同一个页面