การติดตั้ง HAProxy 1.7 บน Debian 9.1 (Stretch)

HAProxy เป็นแอปพลิเคชั่นซอฟต์แวร์เครือข่ายที่ให้บริการความพร้อมใช้งานสูงการทำโหลดบาลานซ์และพร็อกซี่สำหรับแอพพลิเคชันเครือข่าย TCP และ HTTP เหมาะสำหรับเว็บไซต์ที่มีปริมาณการใช้งานสูงและเพิ่มประสิทธิภาพให้กับเว็บไซต์ยอดนิยมหลายแห่งทั่วทั้งเว็บ บทความนี้จะแสดงวิธีการติดตั้งและกำหนดค่า HAProxy บน Debian 9.1

แม้ว่า HAProxy จะมีคุณสมบัติที่โดดเด่นหลายประการบทความนี้มุ่งเน้นไปที่วิธีการตั้งค่า HAProxy เป็น "proxy" เว็บแอปพลิเคชันของคุณ

ความต้องการ

  • เซิร์ฟเวอร์ Vultr อย่างน้อยสองเครื่อง (สำหรับฟังก์ชั่นการปรับสมดุลโหลด) ด้วยเว็บไซต์หรือเว็บแอปพลิเคชันของคุณที่ปรับใช้กับทั้งสองอย่าง

กำลังติดตั้ง HAProxy

Debian 9 มาพร้อมกับ HAProxy 1.7 (มีเสถียรภาพล่าสุด ณ เวลาที่เขียน) และเราสามารถติดตั้งได้โดยใช้apt-get:

# apt-get update
# apt-get install haproxy

หากคำสั่งก่อนหน้านี้ประสบความสำเร็จแสดงว่าคุณได้ติดตั้ง HAProxy แล้วและคุณสามารถดำเนินการขั้นตอนต่อไปได้

การกำหนดค่า HAProxy

ไฟล์การกำหนดค่า HAProxy แบ่งออกเป็นสองส่วนคือ "global" และ "proxies" หนึ่งข้อตกลงกับการกำหนดค่าทั้งกระบวนการในขณะที่ส่วนหลังประกอบด้วยการกำหนดค่าเริ่มต้นส่วนหน้าและส่วนหลัง

มาตราสากล

ใช้โปรแกรมแก้ไขข้อความที่คุณชื่นชอบเปิด/etc/haproxy/haproxy.cfgและสังเกตเห็นส่วนที่กำหนดไว้ล่วงหน้า: "ทั่วโลก" และ "เริ่มต้น" สิ่งแรกที่คุณอาจต้องทำคือเพิ่มmaxconnขนาดให้เหมาะสมเนื่องจากจะมีผลกับการเชื่อมต่อที่ HAProxy อนุญาต การเชื่อมต่อมากเกินไปอาจทำให้บริการเว็บของคุณขัดข้องเนื่องจากมีคำขอจำนวนมาก คุณจะต้องปรับขนาดเพื่อดูว่าอะไรเหมาะกับคุณ ในส่วนของโลกเราได้เลือกค่าของmaxconn3072

global
    daemon
    maxconn 3072

ในส่วนเริ่มต้นเพิ่มบรรทัดต่อไปนี้ภายใต้โหมดhttp:

option forwardfor

สิ่งนี้จะเพิ่มX-Forwarded-Forส่วนหัวในแต่ละคำขอซึ่งช่วยให้เซิร์ฟเวอร์เบื้องหลังของคุณสามารถเรียนรู้ที่อยู่ IP ดั้งเดิมของผู้ใช้

นอกจากนี้ให้เพิ่มบรรทัดนี้เพื่อเปิดใช้งานโหมดปิดการเชื่อมต่อ HTTP ที่ฝั่งเซิร์ฟเวอร์ในขณะที่รักษาความสามารถในการรองรับ HTTP แบบคงที่ไว้ที่ฝั่งไคลเอ็นต์ สิ่งนี้ช่วยลดเวลาแฝงในฝั่งไคลเอ็นต์และช่วยประหยัดทรัพยากรเซิร์ฟเวอร์:

option http-server-close

หากคุณต้องการใช้การรักษาทั้งบนไคลเอนต์และฝั่งเซิร์ฟเวอร์คุณสามารถใช้option http-keep-aliveแทนได้ ตัวเลือกนี้มีประโยชน์อย่างยิ่งเมื่อค่าใช้จ่ายในการสร้างการเชื่อมต่อใหม่ไปยังเซิร์ฟเวอร์มีความสำคัญเมื่อเทียบกับค่าใช้จ่ายในการดึงทรัพยากรที่ร้องขอ

สุดท้ายไฟล์ปรับแต่งที่ได้จะมีลักษณะดังนี้

defaults
    mode http
    option forwardfor
    option http-server-close
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

มาตราผู้รับมอบฉันทะ

ในการตั้งค่าพร็อกซีของคุณคุณจะต้องเพิ่มสองส่วนในไฟล์กำหนดค่าเพื่อกำหนดสองส่วนของพร็อกซี: ส่วนหน้าและส่วนหลัง

การกำหนดค่าส่วนหน้า

ส่วนหน้าจะจัดการการเชื่อมต่อ HTTP ของคุณ เพิ่มสิ่งต่อไปนี้ในตอนท้ายของhaproxy.cfgไฟล์ของคุณ:

frontend http-frontend
    bind public_ip:80
    reqadd X-Forwarded-Proto:\ http
    default_backend wwwbackend

อย่าลืมแทนที่public_ipด้วยที่อยู่ IP สาธารณะหรือชื่อโดเมนสาธารณะของเซิร์ฟเวอร์ของคุณ

การกำหนดค่าแบ็กเอนด์

ตั้งค่าแบ็กเอนด์ของคุณโดยเพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์กำหนดค่าของคุณ:

backend wwwbackend
    server 1-www server1_ip:80 check
    server 2-www server2_ip:80 check
    server 3-www server3_ip:80 check

การกำหนดค่าแบ็กเอนด์ใช้ที่นี่จะสร้างการเชื่อมต่อ 3 X-wwwชื่อ ( Xคือ 1, 2 หรือ 3) แต่ละรายการสอดคล้องกับที่serverX_ip:80 อยู่ (แทนที่serverX_ipด้วยที่อยู่ IP ของอินสแตนซ์ Vultr ของคุณ) ซึ่งจะช่วยให้คุณสามารถโหลดยอดคงเหลือระหว่างแต่ละเซิร์ฟเวอร์ในชุดเซิร์ฟเวอร์ที่ระบุ (สมมติว่าที่อยู่ IP แต่ละรายการสอดคล้องกับเซิร์ฟเวอร์อื่น) checkตัวเลือกที่จะทำให้โหลด balancer การดำเนินการตรวจสอบสุขภาพบนเซิร์ฟเวอร์

บันทึกไฟล์คอนฟิกูเรชันจากนั้นรีสตาร์ท HAProxy:

service haproxy restart

หากทุกอย่างทำงานแล้วคุณจะสามารถเชื่อมต่อกับhttp://public_ip/(แทนที่ด้วย IP สาธารณะหรือชื่อโดเมนของคุณตามที่กำหนดไว้ในขั้นตอนส่วนหน้า) และดูเว็บไซต์ของคุณ

แก้ไขข้อผิดพลาด

หากอินสแตนซ์ HAProxy ของคุณปฏิเสธที่จะเริ่มต้นหลังจากการแก้ไขของคุณเป็นไปได้ว่าคุณมีข้อผิดพลาดบางแห่งในไฟล์กำหนดค่า ในการรับข้อความที่ชัดเจนเกี่ยวกับปัญหาในไฟล์กำหนดค่าคุณสามารถลองเริ่ม HAProxy ด้วยตนเองโดยใช้คำสั่งนี้:

# haproxy -f /etc/haproxy/haproxy.cfg

ตัวอย่างเช่นหากคุณเห็นผลลัพธ์เช่นนี้:

[ALERT] 234/195612 (2561) : parsing [/etc/haproxy/haproxy.cfg:48] : server 1-www has neither service port nor check port nor tcp_check rule 'connect' with port information. Check has been disabled.
[ALERT] 234/195612 (2561) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 234/195612 (2561) : Fatal errors found in configuration.

1-wwwแล้วคุณจะลืมที่จะระบุจำนวนพอร์ตสำหรับเซิร์ฟเวอร์

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true