כיצד להתקין את Memcached על אובונטו 20.04 LTS

מטב את ביצועי מסד הנתונים שלך על ידי שימוש בשרת Memcached עם יישומי PHP ו-Python שלך

אם אי פעם הרגשת את הכאב של עומס רב במסד הנתונים שגורם להאטות ביישומי האינטרנט שלך ותהיתם "האם יש דרך להפחית את ההשהיה הנגרמת על ידי שאילתות DB?", אז התשובה לשאלה זו היא כן בגדול. Memcached דמון מטמון זיכרון שכונתי ידידותי נמצא כאן כדי לפתור את כל הצרות שלך! שמירה במטמון של ה-DB היא אחת השיטות הפשוטות ביותר להקלת עומס DB ולהאיץ את יישומי האינטרנט הדינמיים.

Memcached מגדירה את עצמה כמערכת אחסון אובייקטי זיכרון מבוזרת בעלת ביצועים גבוהים, גנרית במהותה, אך נועדה במקור לשימוש בהאצת יישומי אינטרנט דינמיים על ידי הקלת עומס מסד הנתונים. פותח על ידי בראד פיצפטריק עבור אתר האינטרנט שלו LiveJournal בשנת 2003.

במאמר זה, נבחן כיצד להתקין ולהגדיר את Memcached באובונטו 20.04 ונבחן את הלקוחות הספציפיים לשפה שלו.

דרישות מוקדמות

מערכת המותקנת עם אובונטו 20.04 עם משתמש בעל זכויות ניהול, כלומר א סודו מִשׁתַמֵשׁ.

הַתקָנָה

Memcached זמין במאגר הרשמי של Ubuntu 20.04, בנוסף ל-Memcached אנחנו הולכים להתקין כלי CLI הידוע בשם libmemcached-tools לנהל את Memcached. פשוט הפעל את הפקודה הבאה כדי להתקין את שניהם

sudo apt התקן את memcached libmemcached-tools

ודא התקנה

לאחר השלמת ההתקנה, Memcached daemon מתחיל ברקע מעצמו. כדי לאמת את ההתקנה, אנו יכולים להשתמש בפקודה מ libmemcached-tools חבילה כדי לקבל נתונים סטטיסטיים של שרת Memcached. או לרוץ

memcstat --שרתים מקומי מארח

אוֹ

memcstat --שרתים 127.0.0.1

ה memcstat הפקודה מציגה את הנתונים הסטטיסטיים של שרת פועל. הפקודה לעיל תגרום לפלט המוצג למטה.

סטטיסטיקות שונות כגון זמן פעילות בשניות, גִרְסָה ו pid יוצג כפלט. עם זאת, אם לא מוצג פלט, ייתכן ש-Memcached אינו פועל. לכן, עליך להפעיל את הפקודה הבאה כדי להפעיל את שרת Memcached.

sudo systemctl התחל memcached

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

sudo systemctl אפשר את memcached

הגדרת Memcached

אם ה-memcached שלך מותקן בשרת האתר עצמו, אין צורך לשנות את קובץ התצורה שכן memcached מוגדר מראש לעבוד עם localhost.

מצד שני, אם התקנת את Memcached על מערכת נפרדת תצטרך לשנות את התצורה כדי לאפשר לשרת המרוחק גישה לשרת Memcached.

הגדרת גישה מרחוק עבור שרת Memcached

Memcached פגיע להתקפות DDoS (Distributed Denial of Service). כלל חומת אש שגוי ויציאות UDP פתוחות ישאירו את השרת פתוח ופגיע להתקפות DDoS.

כדי להפחית את הסיכון, אנו יכולים להשבית את פרוטוקול UDP עבור Memcached בתצורה או להגדיר חומת אש רק כדי לאפשר שרתים מהימנים.

מחוץ לקופסה, אובונטו נשלחת ללא יציאות TCP או UDP פתוחות. יתר על כן, דמון חומת האש ufw (חומת אש לא מסובכת) אינה מופעלת כברירת מחדל.

אנו הולכים להפעיל את חומת האש ולהגדיר את תצורת Memcached כך שנוכל לצמצם את הפגיעות של DDoS.

ראשית, הפעל את ufw על ידי הפעלת הפקודה הבאה:

sudo systemctl אפשר את ufw

ואז התחל את ufw שירות על ידי הפעלת הפקודה הבאה:

sudo systemctl התחל את ufw

כאשר חומת האש פועלת, נוכל סוף סוף להגדיר את כללי חומת האש. ראשית, הפעל את יציאה 22 כדי לאפשר חיבורי SSH. יש צורך ב-SSH כדי לגשת מרחוק לשרת הרצוי.

sudo ufw allow 22

שנית, אתה צריך לדעת את כתובת ה-IP של הלקוח, כלומר מארח יישום האינטרנט וכתובת ה-IP של השרת, כלומר שרת ה-Memcached.

במקרה זה, הבה נניח שה-IP של הלקוח הוא 192.168.0.4 ו-Memcached שרת IP להיות 192.168.0.5 ברשת מקומית.

אז כדי לאפשר גישה מרחוק של שרת memcached לשרת לקוח, הפעל:

sudo ufw אפשר מ-192.168.0.4 לכל יציאה 11211

החלף את ה 192.168.0.4 עם כתובת ה-IP של הלקוח הרצויה.

לאחר מכן, ערוך את קובץ התצורה של Memcached שנמצא ב /etc/memcached.conf על ידי ריצה ננו פקודה.

sudo nano /etc/memcached.conf

ה memcached.conf קובץ התצורה ייפתח עם עורך הננו, חפש את ה -l 127.0.0.1 שורה בתצורה והחלפה 127.0.0.1 עם ה-Memcached Server IP שלך או במקרה זה 192.168.0.5.

לאחר החלפת עיתונות ctrl+o כדי לכתוב לקובץ התצורה וללחוץ על אנטר, הקש ctrl+x לצאת ננו.

הפעל מחדש את שרת Memcached ו ufw חומת אש על ידי הפעלת הפקודה למטה.

sudo systemctl הפעל מחדש את memcached ufw

כעת סיימנו עם ההתקנה וההגדרה של שרת Memcached ב-Ubuntu 20.04.

מתחבר לשרת Memcached

כדי להשתמש בשרת Memcached, תצטרך להתקין לקוח ספציפי לשפה. למרבה המזל, ל-Memcached יש תמיכה בשפות פופולריות רבות.

אז תן לנו לראות איך להתקין php ו פִּיתוֹן לקוח עבור Memcached.

PHP היא שפת הסקריפט הפופולרית ביותר בצד השרת ו-Memcached משמשת בעיקר מפתחי אינטרנט כדי לשפר את ביצועי השרת של אפליקציות אינטרנט המופעלות על ידי PHP.

כדי להתקין תמיכת memcached ב-php, לָרוּץ:

sudo apt להתקין php-memcached

גם לפייתון יש מספר ספריות שיכולות לעבוד ולקיים אינטראקציה עם שרת Memcached כגון pymemcached אוֹ פיתון-memcached.

אתה יכול להתקין memcached עבור python על ידי הפעלת פקודות ה-pip הבאות:

pip להתקין pymemcache
pip להתקין python-memcached

לסיכום, בדקנו את ההתקנה, התצורה וכמה לקוחות ספציפיים לשפה של Memcached באובונטו 20.04.

כדי לדעת שימוש גס ומתקדם יותר ב-Memcached, עיין ב-Memcached Wiki.