安装依赖

yum install -y gcc pcre pcre-devel openssl openssl-devel

创建依赖账号,并禁止账号登录

useradd -M -s /sbin/nologin -u 1000 haproxy

编译安装haproxy

cd /usr/local/src/
wget https://www.haproxy.org/download/1.7/src/haproxy-1.7.11.tar.gz
tar xf haproxy-1.7.11.tar.gz
cd haproxy-1.7.11/
make TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy
/usr/local/haproxy/sbin/haproxy -v

复制haproxy启动脚本到启动目录下

cp /usr/local/src/haproxy-1.7.11/haproxy /usr/sbin/
cp /usr/local/src/haproxy-1.7.11/haproxy-systemd-wrapper /usr/sbin

配置成systemctl可以管理

vim /usr/lib/systemd/system/haproxy.service

[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target [Service]
EnvironmentFile=/etc/sysconfig/haproxy
ExecStart=/usr/sbin/haproxy-systemd-wrapper -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid $OPTIONS
ExecReload=/bin/kill -USR2 $MAINPID [Install]
WantedBy=multi-user.target

编辑配置文件

cat /etc/sysconfig/haproxy

# Add extra options to the haproxy daemon here. This can be useful for
# specifying multiple configuration files with multiple -f options.
# See haproxy(1) for a complete list of options.
OPTIONS="" 

编辑主配置文件

mkdir /etc/haproxy/

vim /etc/haproxy/haproxy.cfg

global
maxconn 100000
chroot /usr/local/haproxy
uid 1000
gid 1000
daemon
nbproc 1
pidfile /usr/local/haproxy/run/haproxy.pid
log 127.0.0.1 local6 info defaults
option http-keep-alive
maxconn 100000
mode http
timeout connect 300000ms
timeout client 300000ms
timeout server 300000ms listen stats
mode http
bind 0.0.0.0:8888 # 访问的端口
stats enable
log global
stats uri /haproxy-status #状态地址
stats auth haproxy:123456 #登录账号和密码
#frontend web_port
frontend frontend_www_example_com
bind 10.0.0.80:80
mode http
option httplog
log global
default_backend backend_www_example_com backend backend_www_example_com
option forwardfor header X-REAL-IP
option httpchk HEAD / HTTP/1.0
balance source
server web-node1 10.0.0.80:8080 check inter 2000 rise 30 fall 15
server web-node2 10.0.0.81:8080 check inter 2000 rise 30 fall 15

创建PID文件存放路径

mkdir /usr/local/haproxy/run/

启动服务

systemctl enable haproxy.service
systemctl start haproxy.service

修改日志存放位置  vim /etc/rsyslog.conf

[root@node-1 haproxy-1.7.11]# sed -n "15,21p" /etc/rsyslog.conf
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
local6.* /var/log/haproxy/haproxy.log
local6.* @@10.0.0.80:5160
[root@node-1 haproxy-1.7.11]#

创建日志存放位置并授权haproxy

mkdir /var/log/haproxy
chown -R haproxy.haproxy /var/log/haproxy

重启服务生效

systemctl restart rsyslog
systemctl restart haproxy.service

 

最新文章

  1. 2015年度总结--javaWeb
  2. Android first --- 单元测试框架junit
  3. 【BZOJ-2400】Spoj839Optimal Marks 最小割 + DFS
  4. Java和数据库时间格式化格式
  5. 【JAVA】 @override报错的解决方法
  6. mysql 大数据量求平均值
  7. ResultSet结果集判断是否为空
  8. (剑指Offer)面试题21:包含min函数的栈
  9. jquery 源码分析学习地址
  10. iOS常见文件及程序的启动原理
  11. 小爬虫。爬取网站多页的通知标题并存取在txt文档里。
  12. 四大跨平台的APP分析
  13. Blocks(闭包)
  14. phpmyadmin的初始账号密码是多少
  15. Ubuntu14.04下安装 boost (boost_1.54 最简单的方法)
  16. Django【跨域】
  17. C语言语法
  18. django(六)之ORM数据库操作
  19. PythonStudy——数据类型总结 Data type summary
  20. 去掉m3u8的片头和片尾

热门文章

  1. C++从LPEXCEPTION_POINTERS获取调用堆栈
  2. Python の 在 VSCode 中使用 IPython Kernel 的方法
  3. Queries for Number of Palindromes(区间dp)
  4. 分布式文件存储:FastDFS简单使用与原理分析
  5. 01vue.config.js
  6. [01] C#网络编程的最佳实践
  7. ThinkPHP6.0 多应用模式 部署 Layuiadmin 单页版
  8. python调用接口——requests模块
  9. Docker实战(4):Docker错误记一笔
  10. python的多行注释