一、软件下载
1.Haproxy官网:www.haproxy.org
2.软件下载步骤
2.1 访问官网后,点击左侧download后会展示一个所有版本的列表
2.2 点击某个版本Browsable dir这一行的“Dir”,就可以显示某个大版本下所有的小版本,以tar.gz结尾的即为源码包,建议选择小版本最大的软件包,因为最新的软件包修复了历史版本的已知Bug
二、软件安装
1.创建haproxy的安装目录
mkdir /usr/local/haproxy
2.源码包上传至服务器/usr/local/src目录并解压
cd /usr/local/src/
tar -zxf *.tar.gz
3.安装源码包
cd haproxy-x.x.x
make ARCH=x86_64 TARGET=custom USE_SYSTEMD=1 PREFIX=/usr/local/haproxy PS:如果你不需要让systemd管理haproxy,可以不加USE_SYSTEMD=1参数,如果你的haproxy需要使用到其他的功能,如正则表达式、压缩等,需要增加对应的参数,可以参考官网的说明。这一步可能会因为你的电脑缺少依赖而报错,需要根据实际情况安装依赖包
make install PREFIX=/usr/local/haproxy
4.将haproxy的可执行文件软链接到/usr/sbin目录
ln -s /usr/local/haproxy/sbin/haproxy /usr/sbin/
5.创建haproxy.service文件,让systemd管理它
vi /usr/lib/systemd/system/haproxy.service
[Unit] Description=HAProxy Load Balancer After=syslog.target network.target [Service] ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c -q ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /var/lib/haproxy/haproxy.pid ExecReload=/bin/kill -USR2 $MAINPID [Install] WantedBy=multi-user.target
systemctl daemon-reload
6.创建/var/lib/haproxy目录,用于存放pid和socket文件
mkdir /var/lib/haproxy
PS:如果你的haproxy是以普通用户运行的,这个目录的权限记得修改,否则会因为无法生成pid和socket导致服务无法正常启动
7.创建服务配置文件
mkdir /etc/haproxy
vi /etc/haproxy/haproxy.cfg
具体内容自行百度
8.启动服务
systemctl start haproxy
ps -aux | grep haproxy
9.如果服务起不来,可以使用journalctl -xe命令或者查看message日志来看是哪里的问题
journalctl -xe
tail -f /var/log/message