在麒麟V10伺服器上編譯安裝HAProxy

PKS生態服務平臺發表於2020-12-31

1 簡介

HAProxy 是一個使用 C 語言編寫的開放原始碼的、主要用於提高可用性、負載均衡、也可作為 TCP 和 HTTP 的應用程式代理。

 

2 準備工作

HAProxy分為企業版和社群版,這裡我們以社群版為例進行適配。由於麒麟V10自帶軟體源中的 HAProxy 版本較低,因此我們採用原始碼編譯安裝的方式部署。

原始碼下載地址:

http://www.haproxy.org/#down

這裡我下載了兩個版本分別進行驗證:

1.7

http://www.haproxy.org/download/1.7/src/haproxy-1.7.12.tar.gz

2.0

http://www.haproxy.org/download/2.0/src/haproxy-2.0.17.tar.gz

 

驗證環境:

使用cat /etc/kylin-releaseuname -a檢視作業系統資訊

  • 作業系統:Kylin Linux Advanced Server release V10 (Azalea)
  • 核心資訊:4.19.90-11.ky10.aarch64
  • 其他涉及的資訊:例如 gcc 版本、java 版本等。

 

3 開始編譯安裝

3.1 解壓原始碼包

tar -zxvf haproxy-1.7.12.tar.gz

 

3.2 開始編譯

cd haproxy-1.7.12

make TARGET=linux2628

注意:在 HAProxy 2.0 之前,我們使用 TARGET=linux2628,TARGET=linux2628 是對於核心版本高於 2.6.28 的作業系統引數 TARGET 需配置為 linux2628。核心引數可使用“cat /proc/version”進行查詢。

由於目標 linux2628 無關緊要並且經常出錯,因此已將它們從 HAProxy 2.0 中刪除。 請改用“TARGET=linux-glibc”,或使用“ make help TARGET = <您的目標>”檢查可用選項來定義您的自定義目標。

 

3.3 編譯完成後進行安裝

make install

 

4 驗證

haproxy -v

 

5 常見錯誤

5.1 /usr/bin/ld: 找不到 -latomic

在編譯 2.0 版本時 使用命令:

make TARGET=linux-glibc

但在編譯過程中可能遇到錯誤:

原因是麒麟V10系統中預設沒有安裝libatomic,安裝命令如下:

yum install libatomic

然後將 so 檔案做一個軟連結:

ln -s /usr/lib64/libatomic.so.1.2.0 /usr/lib/libatomic.so

再執行編譯即可安裝成功:

 

作者:李凌

相關文章