שרתי אינטרנט
nginx לעומת Apache: איזה שרת מריץ איזה עומס עבודה?
nginx ו-Apache הם שני המנועים שעליהם ניתן לבנות מחסנית אירוח, והקרב מסתיים ברגע שבו קוראים לעומס העבודה. nginx הוא מכונה מונעת על ידי אירועים עם טביעת רגל נמוכה עבור תוכן סטטי ו-proxy הפוך; Apache הוא שרת יישומים עשיר במודול שהספרייה שלו עוקפת והמערכת האקולוגית נושאת אירוח משותף. זהו טבלת ההחלטות הכנה מאחורי שני המאמרים הייעודיים.
נקודות עיקריות
- מודל מקביליות מחליט על הקצה: לולאת האירועים האסינכרוניים של nginx מטפלת באלפי חיבורים בו-זמניים עם קומץ תהליכי עבודה, וזו הסיבה שהיא שולטת בשכבות סטטיות-כבדות ופרוקסי הפוך; MPM האירועים של Apache סוגר חלק גדול מהפער הזה אבל עדיין מקצה יותר לכל חיבור על אותה חומרה.
- פילוסופיית תצורה מתנגשת: Apache נושאת .htaccess ועקיפות לפי ספרייה (הנוחות המייסדת של אירוח משותף), בעוד nginx config שטוחה לכל אתר וכוללת קבצים עם משמעת טעינה מחדש; האפקט היומיומי הוא בצורת צוות, מי עורך הגדרות ואיפה.
- הערימה ההיברידית היא לגיטימית, לא שוטר: nginx מלפנים כ-TLS terminator ושרת סטטי, Apache מאחור עבור האפליקציה, היא צורה שנבדקה בקרב ששומרת על כלי htaccess תוך תופסת ביצועי nginx edge; העלות היא עוד שכבה אחת לפתרון בעיות ולניטור.
- כאשר כל מנוע מנצח על הסף: nginx זוכה ב-Proxy כבד בחיבור, בעבודת קצה חיה וניקוז איטי של לקוח; אפאצ'י זוכה בכוח תצורה לפי ספרייה, תאימות מודול מדור קודם ואחוזת אירוח משותפת מסוג mod_security/mod_php שבה אין מערכת אקולוגית אחרת בוגרת.
- LiteSpeed היא האפשרות השלישית שהרבה מארחים מגיעים אליה (המאמר הייעודי שלנו מכסה אותה): תאימות אפאצ'י עם מקביליות מונעת אירועים, ברישיון לכל ליבה, כך שנתיב האמצע של 'החלף אפאצ'י, שמור על תצורה' קיים עבור כלכלת אירוח משותף.
- הליך החלטה שמחזיק בכל קטגוריית שרתי האינטרנט שלנו: שם את עומס העבודה (nginx בקצה; אפאצ'י מאחורי אפליקציות כבדות ב-htaccess), שמור על שני התפקידים מפורשים כשהם היברידיים, סמן את התנועה שלך משלך (לא מדדי מגזין), וזכור שזו החלטה אחת שאתה יכול לחזור עליה מכיוון ששני המנועים מתקיימים יחד בשמחה.
הערת שטח
הלקוח שלימד אותנו את הרגל המחסנית ההיברידית: nginx מקדימה עבור TLS וסטטיק, אפאצ'י מאחוריו נושא שתים עשרה שנים של מידע htaccess שאיש לא העז לשכתב. התשובה הכנה לא הייתה 'הגר ל-nginx', היא הייתה 'שם עומס העבודה לפי שכבה'. הם עדיין מריצים את הצורה הזו היום, לא מתרגשים ומעוטרים בזמן פעילות.
שאלות נפוצות
האם עלינו לבחור אחד בכלל?
לא: פרוקסי הפוך מול שרת היישומים הוא הצורה המודרנית הרגילה. ההחלטה האמיתית היחידה היא איזה מנוע הולך לאן; הפעלת שניהם היא נוהג רגיל, לא הודאה בתבוסה.
מה יותר מהיר עבור וורדפרס?
עם שכבות מטמון טובות, שלושתן (nginx, Apache, LiteSpeed) משרתות את וורדפרס היטב; סדר הגימור במבחנים שלנו הסתכם בכוונון מטמון ולא במנוע. בחירת המנוע חשובה יותר בשכבות הקצה והפרוקסי מאשר מאחורי מטמון.
מה קל יותר ללמוד?
שניהם ניתנים ללמידה תוך שבוע עבור אירוח וירטואלי בסיסי ו-TLS; החיכוך שונה: תיעוד אפאצ'י מוכר יותר לוותיקי התעשייה, תצורת nginx קצרה יותר אך חושפת את כפתורי ה-proxy מוקדם יותר.
האם יש הבדלי אבטחה שחשובים?
שניהם נושאים CVE ושניהם מאובטחים מחוץ לקופסה בגרסאות מתוחזקות; משטח הסיכון הוא משטח התצורה, תרבות .htaccess ומודולים מדור קודם עבור Apache, מודולים מהודרים של צד שלישי בתוספת שגיאות סדר הגדרות עבור nginx. מהירות התיקון חשובה יותר ממותג המנוע.
איך Kinetikatech מסייעת לך ב-שרתי אינטרנט
זה מה שאנחנו עושים כל יום: תצורה, אופטימיזציה ואבטחה של שרתי אינטרנט בסביבות פרודקשן ופיתוח. שירות אופטימיזציה וניהול שרתים שלנו מכסה את זה מקצה לקצה — הערכה, יישום, ניטור 24/7, ותגובה לחירום בתוך 30 דקות.