HAProxy เป็นแอปพลิเคชั่นซอฟต์แวร์เครือข่ายที่ให้บริการความพร้อมใช้งานสูงการทำโหลดบาลานซ์และพร็อกซี่สำหรับแอพพลิเคชันเครือข่าย TCP และ HTTP เหมาะสำหรับการรับส่งข้อมูลสูงและเพิ่มประสิทธิภาพเว็บไซต์จำนวนมาก บทความนี้จะแสดงวิธีการติดตั้งและตั้งค่า HAProxy บน Ubuntu 14.04
แม้ว่า HAProxy จะมีคุณสมบัติที่โดดเด่นหลายประการบทความนี้มุ่งเน้นไปที่วิธีการตั้งค่า HAProxy เป็น "proxy" เว็บแอปพลิเคชันของคุณ
กำลังติดตั้ง HAProxy
เนื่องจาก Ubuntu 14.04 ไม่ได้มาพร้อมกับ HAProxy 1.5 (การปล่อยเสถียรล่าสุด ณ เวลาที่เขียน) เราจะต้องใช้ PPA เพื่อติดตั้งโดยใช้apt-get
:
add-apt-repository ppa:vbernat/haproxy-1.5
ถัดไปอัปเดตระบบ:
apt-get update
apt-get dist-upgrade
ตอนนี้ติดตั้ง HAProxy ด้วยคำสั่งต่อไปนี้:
apt-get install haproxy
หากทุกอย่างประสบความสำเร็จแสดงว่าคุณได้ติดตั้ง HAProxy เสร็จแล้วและสามารถทำขั้นตอนต่อไปได้
การกำหนดค่า HAProxy
ไฟล์คอนฟิกูเรชัน HA Proxy แบ่งออกเป็นสองส่วน - "global" และ "proxies" หนึ่งข้อตกลงกับการกำหนดค่าทั้งกระบวนการในขณะที่อื่น ๆ ประกอบด้วยการกำหนดค่าเริ่มต้นส่วนหน้าและส่วนหลัง
มาตราสากล
ด้วยโปรแกรมแก้ไขข้อความที่คุณชื่นชอบเปิด/etc/haproxy/haproxy.cfg
และคุณจะสังเกตเห็นส่วนที่กำหนดไว้ล่วงหน้า: "ทั่วโลก" และ "ค่าเริ่มต้น" สิ่งแรกที่คุณอาจต้องทำคือเพิ่มmaxconn
ขนาดให้เหมาะสมเนื่องจากจะมีผลกับการเชื่อมต่อที่ HAProxy อนุญาต การเชื่อมต่อมากเกินไปอาจทำให้บริการเว็บของคุณขัดข้องเนื่องจากมีคำขอจำนวนมาก คุณจะต้องปรับขนาดเพื่อดูว่าอะไรเหมาะกับคุณ ในส่วนส่วนกลางให้เพิ่มหรือเปลี่ยนmaxconn
เป็น 3072
ในส่วนเริ่มต้นเพิ่มบรรทัดต่อไปนี้ภายใต้mode http
:
option forwardfor
option http-server-close
สิ่งนี้จะเพิ่มX-Forwarded-For
ส่วนหัวให้กับคำขอแต่ละครั้งรวมถึงลดเวลาแฝงระหว่าง HAProxy และเพื่อรักษาการเชื่อมต่อที่คงอยู่ของลูกค้า
มาตราผู้รับมอบฉันทะ
ส่วนหน้าและส่วนหลัง
โดยทั่วไปสิ่งแรกเมื่อพูดถึงคือการตั้งค่าส่วนหน้าเพื่อจัดการการเชื่อมต่อ HTTP เพิ่มรายการต่อไปนี้:
frontend http-frontend
bind public_ip:80
reqadd X-Forwarded-Proto:\ http
default_backend wwwbackend
หมายเหตุ:โปรดแทนที่public_ip
ด้วยโดเมนของคุณหรือ IP สาธารณะของคุณ มิฉะนั้นการตั้งค่าทั้งหมดนี้จะไม่ทำงาน
หลังจากคุณกำหนดค่าส่วนหน้าเสร็จแล้วคุณสามารถเพิ่มส่วนแบ็คเอนด์ของคุณได้โดยเพิ่มบรรทัดต่อไปนี้ที่ส่วนท้ายของการกำหนดค่าของคุณ:
backend wwwbackend
server 1-www private_ip_1:80 check
server 2-www private_ip_2:80 check
server 3-www private_ip_3:80 check
การกำหนดค่าแบ็กเอนด์ใช้ที่นี่จะสร้างการเชื่อมต่อที่มีชื่อX-www
ไปprivate_ip_X:80
(แทนที่ X กับ 1 - 3 และแทนที่private_ip_X
ด้วย IP ส่วนตัวหรือสาธารณะของคุณ) สิ่งนี้จะช่วยให้คุณโหลดยอดคงเหลือระหว่างแต่ละชุดเซิร์ฟเวอร์ (สมมติว่าคุณมีมากกว่าหนึ่งเซิร์ฟเวอร์) check
ตัวเลือกที่จะทำให้โหลด balancer การดำเนินการตรวจสอบสุขภาพบนเซิร์ฟเวอร์
เมื่อเสร็จแล้วให้บันทึกไฟล์การกำหนดค่าจากนั้นรีสตาร์ท HAProxy โดยเรียกใช้:
service haproxy restart
หากทุกอย่างทำงานได้คุณจะสามารถเชื่อมต่อกับhttp://public_ip/
(แทนที่ด้วย Vultr VPS IP ของคุณ) และดูเว็บไซต์ของคุณ