服务器主机 | IP | 安装软件 |
---|---|---|
Haproxy服务器 | 192.168.200.102/24 | haproxy-1.5.19.tar.gz |
Nginx服务器1 | 192.168.200.103/24 | nginx-1.12.0.tar.gz |
Nginx服务器2 | 192.168.200.104/24 | nginx-1.12.0.tar.gz |
Windows客户端 | 192.168.200.101/24 | IE浏览器 |
安装配置Nginx服务器
# useradd -M -s /sbin/nologin nginx
# mount.cifs //192.168.200.1/gx /gx
# yum install -y pcre-devel zlib-devel gcc gcc-c++ make
# tar /gx/zxvf nginx-1.12.0.tar.gz -C /opt/
# cd /opt/nginx-1.12.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
# make && make install
Nginx服务器1
# echo "this is 7.1" /usr/local/nginx/html/test.html //Nginx1添加测试页面
Nginx服务器2
# echo "this is 7.2" /usr/local/nginx/html/test.html //Nginx2添加测试页面
# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
# nginx //启动Nginx
# systemctl stop firewalld.service //关防火墙
# setenforce 0
安装配置Haproxy服务器
# yum install -y pcre-devel bzip2-devel gcc gcc-c++ make
# mount.cifs //192.168.200.1/gx /gx
# tar zxvf /gx/haproxy-1.5.19.tar.gz -C /opt/
# cd /opt/haproxy-1.5.19/
# make TARGET=linux26
# make install
# mkdir /etc/haproxy
# cp examples/haproxy.cfg /etc/haproxy/
# vim /etc/haproxy/haproxy.cfg
删除以下语句
chroot /usr/share/haproxy //根目录
redispatch //强制将请求发给已经down的服务器
替换listen开头的行及后面所有行
listen webcluster 0.0.0.0:80 //定义一个webcluster的应用
option httpchk GET /test.html //检查服务器的test.html文件
balance roundrobin //负载均衡调度算法使用轮询算法
server inst1 192.168.200.103:80 check inter 2000 fall 3 //定义在线节点1
server inst2 192.168.200.104:80 check inter 2000 fall 3 //定义在线节点2
创建自启动脚本
# cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy
# chmod +x /etc/init.d/haproxy
# chkconfig --add /etc/init.d/haproxy
# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
# service haproxy start //启动Haproxy服务
为了更好的管理日志,可以将Haproxy的info和notice日志分别记录到不同日志文件
.
1:在global下面两行日志文件配置 重新定义分离
# vim /etc/haproxy/haproxy.cfg
global
log /dev/log local0 info
log /dev/log local0 notice
# service haproxy restart //修改了配置文件需要重启服务
2:修改rsyslog配置
# touch /etc/rsyslog.d/haproxy.conf
# vim /etc/rsyslog.d/haproxy.conf
if ($programname == ‘haproxy‘ and $syslogseverity-text == ‘info‘)
then -/var/log/haproxy/haproxy-info.log
&~
if ($programname == ‘haproxy‘ and $syslogseverity-text == ‘notice‘)
then -/var/log/haproxy/haproxy-notice.log
&~
# systemctl restart rsyslog.service //重启 rsyslog服务
3:查看日志
# cd /var/log/haproxy/
# cat haproxy-info.log
原文:http://blog.51cto.com/13630803/2132060