การติดตั้ง 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แล้วคุณจะลืมที่จะระบุจำนวนพอร์ตสำหรับเซิร์ฟเวอร์



Leave a Comment

ตั้งค่า NFS Share บน Debian

ตั้งค่า NFS Share บน Debian

NFS เป็นระบบไฟล์บนเครือข่ายที่อนุญาตให้คอมพิวเตอร์เข้าถึงไฟล์ผ่านเครือข่ายคอมพิวเตอร์ คู่มือนี้จะอธิบายวิธีการเปิดเผยโฟลเดอร์ผ่าน NF

สร้างเครือข่ายสังคมด้วย Diaspora บน Debian 9

สร้างเครือข่ายสังคมด้วย Diaspora บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Diaspora เป็นเครือข่ายโซเชียลที่ตระหนักถึงความเป็นส่วนตัวและเป็นโอเพ่นซอร์ส ในบทช่วยสอนนี้คุณจะได้เรียนรู้วิธีการตั้งค่าและกำหนดค่า po Diaspora

การติดตั้ง Fuel CMS บน Debian 9

การติดตั้ง Fuel CMS บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Fuel CMS เป็นระบบจัดการเนื้อหาที่ใช้ CodeIgniter ซอร์สโค้ดของมันถูกโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

FTP ที่ปลอดภัยมากหรือเพียงแค่ vsFTPd เป็นซอฟต์แวร์น้ำหนักเบาที่มีความสามารถในการปรับแต่ง ในบทช่วยสอนนี้เราจะรักษาความปลอดภัยของข้อความ

วิธีการติดตั้ง Thelia 2.3 บน Debian 9

วิธีการติดตั้ง Thelia 2.3 บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Thelia เป็นเครื่องมือโอเพ่นซอร์สสำหรับการสร้างเว็บไซต์ e-business และการจัดการเนื้อหาออนไลน์ที่เขียนด้วย PHP รหัสแหล่งที่มา Thelia i

การตั้งค่า Chroot บน Debian

การตั้งค่า Chroot บน Debian

บทความนี้จะสอนวิธีการติดตั้ง chroot jail บน Debian ฉันคิดว่าคุ���กำลังใช้ Debian 7.x หากคุณใช้ Debian 6 หรือ 8 สิ่งนี้อาจใช้งานได้

การติดตั้ง ownCloud 7 บน Debian 7

การติดตั้ง ownCloud 7 บน Debian 7

ownCloud เป็นบริการแบบ Dropbox ที่ทำงานบน VPS ของคุณเอง มันช่วยให้คุณควบคุมพื้นที่ผู้ใช้และคุณสมบัติอื่น ๆ ได้อย่างเต็มที่ คู่มือนี้จะถือว่าคุณ

เครื่องมือตรวจสอบที่ดีกว่าสำหรับ Ubuntu และ CentOS

เครื่องมือตรวจสอบที่ดีกว่าสำหรับ Ubuntu และ CentOS

บทนำระบบ Linux มาพร้อมกับเครื่องมือตรวจสอบตามค่าเริ่มต้นเช่นด้านบน df และ du ที่ช่วยตรวจสอบกระบวนการและพื้นที่ดิสก์ บ่อยครั้งแม้ว่าพวกเขาเท่

วิธีการติดตั้ง Golang 1.8.3 บน CentOS 7, Ubuntu 16.04 และ Debian 9

วิธีการติดตั้ง Golang 1.8.3 บน CentOS 7, Ubuntu 16.04 และ Debian 9

Golang เป็นภาษาโปรแกรมที่พัฒนาโดย Google ด้วยความเก่งกาจความเรียบง่ายและความน่าเชื่อถือทำให้ Golang กลายเป็นหนึ่งในประชากรที่มีชื่อเสียงมากที่สุด

การติดตั้ง Bolt CMS บน Debian 9 (Stretch)

การติดตั้ง Bolt CMS บน Debian 9 (Stretch)

ใช้ระบบที่แตกต่างกันอย่างไร Bolt เป็น CMS โอเพ่นซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Bolts นั้นโฮสต์บน GitHub คู่มือนี้จะแสดงวิธีการติดตั้ง Bolt CM

ตรวจสอบสถานะเซิร์ฟเวอร์ Debian ด้วย Munin

ตรวจสอบสถานะเซิร์ฟเวอร์ Debian ด้วย Munin

Munin เป็นเครื่องมือตรวจสอบเพื่อสำรวจกระบวนการและทรัพยากรในเครื่องของคุณและนำเสนอข้อมูลในกราฟผ่านเว็บอินเตอร์เฟส ใช้ followin

วิธีเปิดใช้งาน TLS 1.3 ใน Apache บน Debian 10

วิธีเปิดใช้งาน TLS 1.3 ใน Apache บน Debian 10

ใช้ระบบที่แตกต่างกันอย่างไร TLS 1.3 เป็นเวอร์ชันของโปรโตคอล Transport Layer Security (TLS) ที่เผยแพร่ในปี 2018 ตามมาตรฐานที่เสนอใน RFC 8446

การตั้งค่า Teamspeak 3 บน Debian Wheezy

การตั้งค่า Teamspeak 3 บน Debian Wheezy

บทความนี้จะแสดงวิธีการเรียกใช้เซิร์ฟเวอร์ Teamspeak 3 ภายใต้ Debian Wheezy ก่อนที่คุณจะเริ่มต้นด้วยคุณควรเตรียมความพร้อมกับ VPS ของคุณ ผม

วิธีการติดตั้ง PyroCMS บน Debian 9

วิธีการติดตั้ง PyroCMS บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร PyroCMS เป็น CMS โอเพ่นซอร์สที่เขียนด้วย PHP รหัสที่มา PyroCMS โฮสต์บน GitHub ในคู่มือนี้ให้เดินผ่าน entir

การตั้งค่า Counter Strike: Source บน Debian

การตั้งค่า Counter Strike: Source บน Debian

ในคู่มือนี้เราจะตั้งค่า Counter Strike: เซิร์ฟเวอร์เกมต้นทางบน Debian 7 คำสั่งเหล่านี้ถูกทดสอบบน Debian 7 แต่พวกเขาก็ควรทำงาน

วิธีการกำหนดค่า Snort บนเดเบียน

วิธีการกำหนดค่า Snort บนเดเบียน

Snort เป็นระบบตรวจจับการบุกรุกเครือข่ายฟรี (IDS) ในเงื่อนไขที่เป็นทางการน้อยกว่าช่วยให้คุณสามารถตรวจสอบเครือข่ายของคุณสำหรับกิจกรรมที่น่าสงสัยในเวลาจริง

วิธีการติดตั้ง TextPattern CMS 4.6.2 บน Debian 9 LAMP VPS

วิธีการติดตั้ง TextPattern CMS 4.6.2 บน Debian 9 LAMP VPS

ใช้ระบบที่แตกต่างกันอย่างไร TextPattern CMS 4.6.2 เป็นระบบจัดการเนื้อหา (CMS) ที่ง่ายยืดหยุ่นและฟรีและโอเพ่นซอร์สที่ช่วยให้นักออกแบบเว็บไซต์

วิธีการติดตั้ง Dolibarr บน Debian 9

วิธีการติดตั้ง Dolibarr บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Dolibarr เป็นการวางแผนทรัพยากรขององค์กรโอเพ่นซอร์ส (ERP) และการจัดการลูกค้าสัมพันธ์ (CRM) สำหรับธุรกิจ Dolibarr

ติดตั้ง Mailcow บน Debian 7

ติดตั้ง Mailcow บน Debian 7

เกริ่นนำ Mailcow เป็นชุด mailserver ที่มีน้ำหนักเบาซึ่งมีหลายแพ็คเกจเช่น DoveCot, Postfix และแพ็คเกจโอเพ่นซอร์สอื่น ๆ Mailcow als

วิธีการติดตั้ง ModSecurity สำหรับ Nginx บน CentOS 7, Debian 8 และ Ubuntu 16.04

วิธีการติดตั้ง ModSecurity สำหรับ Nginx บน CentOS 7, Debian 8 และ Ubuntu 16.04

ModSecurity เป็นโมดูลโอเพนซอร์สของเว็บแอพพลิเคชันไฟร์วอลล์ (WAF) ซึ่งเหมาะสำหรับการปกป้อง Apache, Nginx และ IIS จากการโจมตีทางไซเบอร์ต่างๆ

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

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน