Ubuntu1804上源碼安裝Haproxy2.3.10


1:準(zhǔn)備編譯安裝HAProxy的基礎(chǔ)環(huán)境

apt install make gcc build-essential libssl-dev zlib1g-dev libpcre3 libpcre3-dev libsystemd-dev libreadline-dev -y

2:編譯安裝lua,為HAProxy支持基于其實(shí)現(xiàn)功能擴(kuò)展。

注:HAProxy要求的lua最低版本為5.3

2.1 下載并且安裝lua

wget -P /usr/local/src/ http://www.lua.org/ftp/lua-5.3.5.tar.gz

cd /usr/local/src/

tar xf lua-5.3.5.tar.gz

cd lua-5.3.5/src/

make linux

 2.2 查看編譯后的版本

root@template-ubuntu-20200606:/usr/local/src/lua-5.3.5/src# ./lua -v

Lua 5.3.5? Copyright (C) 1994-2018 Lua.org, PUC-Rio

3.編譯安裝haproxy


3.1安裝基礎(chǔ)環(huán)境

root@template-ubuntu-20200606:/usr/local/src# apt install iproute2 ntpdate tcpdump telnet traceroute nfs-kernel-server nfs-common lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev gcc openssh-server iotop unzip libreadline-dev libsystemd-dev

3.2 解壓并安裝

20210622的下載地址? ?wget? https://www.haproxy.org/download/2.3/src/haproxy-2.3.10.tar.gz

cd /usr/local/src/

tar xf haproxy-2.3.10.tar.gz

cd haproxy-2.3.10

make -j `lscpu |awk 'NR==4{print $2}'` ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_CPU_AFFINITY=1 USE_LUA=1 LUA_INC=/usr/local/src/lua-5.3.5/src/ LUA_LIB=/usr/local/src/lua-5.3.5/src/ PREFIX=/apps/haproxy && make install PREFIX=/apps/haproxy

注意路徑 /apps/haproxy

ARM架構(gòu)?? make -j $(nproc) TARGET=linux-glibc? ?USE_OPENSSL=1 USE_ZLIB=1 USE_LUA=1 USE_PCRE=1 USE_SYSTEMD=1 LUA_INC=/usr/local/src/lua-5.3.5/src/ LUA_LIB=/usr/local/src/lua-5.3.5/src/ PREFIX=/apps/haproxy && make install PREFIX=/apps/haproxy


3.3 查看編譯安裝好的版本信息


4.編寫haproxy啟動(dòng)腳本

#創(chuàng)建文件

vim /lib/systemd/system/haproxy.service

[Unit]

Description=HAProxy Load Balancer

After=syslog.target network.target

[Service]

ExecStartPre=/apps/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c -q

ExecStart=/apps/haproxy/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /var/lib/haproxy/haproxy.pid

ExecReload=/bin/kill -USR2 $MAINPID

[Install]

WantedBy=multi-user.target

5:編寫配置文件


mkdir /etc/haproxy

#創(chuàng)建haproxy的配置文件

vim? /etc/haproxy/haproxy.cfg

global

? ? maxconn 100000

? ? chroot /apps/haproxy

? ? stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin

? ? uid 99

? ? gid 99

? ? daemon

? ? pidfile /var/lib/haproxy/haproxy.pid

? ? log 127.0.0.1 local3 info

defaults

? ? option http-keep-alive

? ? option forwardfor

? ? maxconn 100000

? ? mode http

? ? timeout connect 300000ms

? ? timeout client 300000ms

? ? timeout server 300000ms

listen stats

? ? mode http

? ? bind 0.0.0.0:9999

? ? stats enable

? ? log global

? ? stats uri? /haproxy-status

? ? stats auth admin:molson


6:啟動(dòng)haproxy

groupadd haproxy

useradd -g haproxy haproxy

#創(chuàng)建文件并授權(quán)

mkdir? /var/lib/haproxy? ? #相關(guān)文件存放位置

chown? 99.99 /var/lib/haproxy/ -R

#啟動(dòng)Haproxy并設(shè)置開機(jī)啟動(dòng)及檢查Haproxy的狀態(tài)

systemctl?unmask haproxy

systemctl? start haproxy

systemctl? enable haproxy

systemctl? status? haproxy

7:打開網(wǎng)頁驗(yàn)證狀態(tài)


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容