כיצד להגדיר את HAProxy כמאזן עומסים עבור Nginx ב- CentOS 8

Kyzd Lhgdyr T Haproxy Km Zn Wmsym Bwr Nginx B Centos 8



High Availability Proxy, המקוצר גם כ-HAProxy הוא מאזן עומסים קל ומהיר המשמש גם כשרת פרוקסי. בתור מאזן עומסים, הוא ממלא תפקיד מכריע בהפצת תעבורת אינטרנט נכנסת על פני מספר שרתי אינטרנט תוך שימוש בקריטריונים מסוימים. בכך, הוא מבטיח זמינות גבוהה וסובלנות תקלות במקרה שיש יותר מדי בקשות במקביל שעלולות להעמיס יתר על המידה על שרת אינטרנט בודד.

HaProxy משמש אתרים פופולריים כמו Tumblr, GitHub ו-StackOverflow. במדריך זה, ניקח אותך דרך ההתקנה של HAProxy בהגדרה של שרתי אינטרנט המופעלים באמצעות Nginx.

הגדרת מעבדה

3 מופעים של שרתי CentOS 7 כפי שמוצג







שם מארח           כתובות IP

load_balancer      3.17.12.132
server_01          3.19.229.234
server_02          3.17.9.217

שלב 1: ערוך את קובץ /etc/hosts עבור מאזן העומס

כדי להתחיל, היכנס למערכת איזון העומס ושנה את הקובץ /etc/hosts כך שיכלול את שמות המארחים וכתובות ה-IP של שני שרתי האינטרנט כפי שמוצג



$ כי / וכו / מארחים
3.19.229.234   server_01
3.17.9.217     שרת-02



לאחר שתסיים, שמור את השינויים וצא מקובץ התצורה.





כעת צאו לכל אחד משרתי האינטרנט ועדכנו את /etc/hosts קובץ עם כתובת ה-IP ושם המארח של מאזן העומס

3.17.12.132   מאזן עומסים

לאחר מכן, אשר שאתה יכול לעשות פינג למאזן העומס מ-server_01



וכמו כן משרת_02

כמו כן, ודא שאתה יכול לעשות פינג לשרתים ממאזן העומס.

מושלם ! כל השרתים יכולים לתקשר עם מאזן העומס!

שלב 2: התקן והגדר את HA Proxy במאזן העומס

מכיוון ש-HA Proxy זמין בקלות מהמאגר הרשמי של CentOS, אנו הולכים להתקין אותו באמצעות מנהל החבילות yum או dnf.

אבל כמו תמיד, עדכן קודם את המערכת

# יאם עדכון

לאחר מכן, התקן את HA Proxy כפי שמוצג

# יאם להתקין האפרוקסי

לאחר ההתקנה מוצלחת, נווט אל ספריית ה-haproxy.

# CD / וכו / האפרוקסי

שיטות עבודה מומלצות מחייבות אותנו לגבות כל קובץ תצורה לפני ביצוע שינויים כלשהם. אז גבה את haproxy.cfg קובץ על ידי שינוי שמו.

# mv haproxy.cfg  haproxy.cfg.bak

לאחר מכן, המשך ופתח את קובץ התצורה

כי haproxy.cfg

ודא שאתה מבצע את השינוי כפי שמוצג

#------------------------------------------------ --------------------
# הגדרות כלליות
#------------------------------------------------ --------------------
גלוֹבָּלִי
log         127.0.0.1 local2 #תצורת יומן

chroot / היה / lib / האפרוקסי
pidfile / היה / לָרוּץ / haproxy.pid
maxconn 4000
משתמש        האפרוקסי #Haproxy פועל תחת משתמש וקבוצת 'haproxy'
קבוצת       האפרוקסי
דמון

# הפעל את שקע ה-Unix של סטטיסטיקה
שקע סטטיסטיקה / היה / lib / האפרוקסי / סטטיסטיקות

#------------------------------------------------ --------------------
# ברירות מחדל נפוצות שכל קטעי ה'האזנה' ו'החלק האחורי' יהיו
# השתמש אם לא מוגדר בבלוק שלהם
#------------------------------------------------ --------------------
ברירות מחדל
מצב                    http
יומן                     גלובלי
אפשרות                  httplog
אפשרות                  dontlognull
אפשרות http-שרת-סגור
אפשרות קדימה עבור       למעט 127.0.0.0 / 8
אפשרות                  שליחה מחדש
ניסיונות חוזרים 3
פסק זמן http-request    10 שניות
תור פסק זמן           1m
פסק זמן חיבור         10 שניות
לקוח פסק זמן          1m
שרת פסק זמן          1m
פסק זמן http-לשמור בחיים 10 שניות
בדיקת זמן קצוב           10 שניות
maxconn 3000

#------------------------------------------------ --------------------
#HAProxy ניטור תצורת
#------------------------------------------------ --------------------
האזינו ל-haproxy3-monitoring * : 8080 #ניטור האפרוקסי פועל ביציאה 8080
מצב http
אפשרות קדימה עבור
אפשרות httpclose
סטטיסטיקות לְאַפשֵׁר
סטטיסטיקות להראות-אגדות
רענון סטטיסטיקה 5s
סטטיסטיקה אורי / סטטיסטיקות #URL לניטור HAProxy
סטטיסטיקה ממלכת Haproxy\ סטטיסטיקה
אישור סטטיסטיקה Password123: Password123 #משתמש וסיסמה לכניסה ללוח המחוונים לניטור
מנהל סטטיסטיקה אם נָכוֹן
default_backend app-main #זה אופציונלי לניטור אחורי

#------------------------------------------------ --------------------
# תצורת FrontEnd
#------------------------------------------------ --------------------
ראשי בחזית
לִקְשׁוֹר * : 80
אפשרות http-שרת-סגור
אפשרות קדימה עבור
default_backend app-main

#------------------------------------------------ --------------------
# BackEnd round robin כאלגוריתם איזון
#------------------------------------------------ --------------------
אפליקציית backend-main

איזון roundrobin #אלגוריתם איזון

אפשרות httpchk HEAD / HTTP / 1.1 \r\nhost:\ localhost
#בדוק את אפליקציית השרת תקינה - קוד סטטוס 200

server server_01 3.19.229.234: 80 חשבון #Nginx1

server server_02 3.17.9.217: 80 חשבון #Nginx2

הקפד לשנות את שם המארח של שרתי האינטרנט וכתובות ה-IP כפי שמצוין בשתי השורות האחרונות. שמור את השינויים וצא.

השלב הבא יהיה להגדיר את Rsyslog כך שיוכל לרשום נתונים סטטיסטיים של HAProxy.

# כי / וכו / rsyslog.conf

הקפד לבטל את ההערות לשורות למטה כדי לאפשר חיבורי UDP

$ModLoad imudp
$UDPServerRun 514

לאחר מכן, המשך וצור קובץ תצורה חדש haproxy.conf

# כי / וכו / rsyslog.d / haproxy.conf

הדבק את השורות הבאות, שמור וצא

local2.=מידע / היה / עֵץ / haproxy-access.log #עבור יומן גישה
הודעה מקומית2 / היה / עֵץ / haproxy-info.log #למידע על שירות - Backend, מאזן עומסים

כדי שהשינויים ייכנסו לתוקף, הפעל מחדש את הדמון rsyslog כפי שמוצג:

# systemctl הפעל מחדש את rsyslog

לאחר מכן הפעל והפעל את HAProxy

# systemctl התחל את rsyslog
# systemctl אפשר rsyslog

ודא ש-HAProxy פועל

# סטטוס systemctl rsyslog

שלב 3: התקן והגדר את Nginx

כעת, החלק היחיד שנותר הוא ההתקנה של Nginx. היכנס לכל אחד מהשרתים ועדכן תחילה את חבילות המערכת:

# יאם עדכון

ההתקנה הבאה  EPEL (חבילות נוספות עבור Linux Enterprise)

# יאם להתקין שחרור חם

כדי להתקין את Nginx, הפעל את הפקודה:

# יאם להתקין nginx

לאחר מכן, הפעל והפעל את Nginx

# systemctl התחל את nginx
# systemctl אפשר nginx

לאחר מכן אנו הולכים לשנות את הקובץ index.html בשני המקרים על מנת להדגים או לדמות כיצד מאזן העומס מסוגל להפיץ תעבורת אינטרנט על פני שני השרתים.

עבור server_01

# הֵד 'server_01. היי! ברוכים הבאים לשרת האינטרנט הראשון' > index.html

עבור server_02

# הֵד 'server_02. היי! ברוכים הבאים לשרת האינטרנט השני' > index.html

כדי שהשינויים יתבצעו, הפעל מחדש את Nginx

# systemctl הפעל מחדש את nginx

שלב 4: בדיקה אם מאזן העומס עובד

אנחנו סוף סוף בנקודה שבה אנחנו רוצים לראות אם התצורה עובדת. אז היכנס למאזן העומס ובצע את פקודת הסלסול שוב ושוב

# תלתל 3.17.12.132

אתה אמור לקבל פלט לסירוגין בטרמינל המציג את הערך של index.html  מ-server_01 ו-server_02

עכשיו בואו נבדוק באמצעות דפדפן אינטרנט. עיין בכתובת ה-IP של מאזן העומס שלך

http: // איזון עומסים-כתובת IP

העמוד הראשון יציג תוכן מכל אחד משרתי האינטרנט


כעת רענן את דף האינטרנט ובדוק אם הוא מציג תוכן משרת האינטרנט השני

מושלם ! מאזן העומס מחלק את תעבורת ה-IP באופן שווה בין שני שרתי האינטרנט!
זה מסכם את המדריך הזה על איך אתה יכול להתקין כמו גם להגדיר את HAProxy ב- CentOS 8. המשוב שלך יתקבל בברכה.