![]() |
# 1 |
חבר מתקדם
דירוג מסחר: (0)
|
![]() קראתי הרבה באינטרנט על nginx וכמה שהוא טוב, אבל עדיין זה נראה לי מפוקפק, כי בכל זאת
עדייין apache מוביל ובגדול. השאלה שלי היא לגבי אתר שיתוף קבצים (סגנון fileflyer.com) האם כדאי להתקין nginx ,apache או אולי שnginx ישמש כfrontend לapache? נסו לפרט כמה שיותר. תודה ![]() |
![]() |
![]() |
# 2 |
אושיית הוסטינג
דירוג מסחר: (0)
|
אפצ׳י הוא יישום מאוד מתקדם ומפותח, אבל נורא כבד מבחינת משאבים. פה נכנס nginx לתפקיד, תוכנה קלה שאפשר לשלב את שניהם ביחד.
ישנן 2 קונפיגורציות לnginx: 1. הכל רץ מnginx. תוכן סטטי ודינאמי. האופציה הכי מועילה ויעילה, אבל דורשת התאמות כל פעם(אין htaccess בnginx וחוקי הrewrite נכתבים בצורה טיפה יותר מסובכת). למי זה מתאים? לאתר עם כוח אדם שיודע לעדכן את צד השרת בהתאם לפיתוח הקוד של האתר ($$$). 2. ההתקשרות מול הגולש נעשית ע״י nginx. תוכן סטטי מוגש ע״י nginx. תוכן דינאמי מוגש דרך nginx ע״י apache. האופציה המועדפת לבעלי אתרים ללא איש טכני צמוד. כל התמונות/css/js/קבצים כבדים מאוד מטופלים דרך nginx. תוכן דינאמי (קוד php) מטופל ע״י apache ומאפשר להשתמש בhtaccess. בקצרה. אתריהורדות גדולים משתמשים בnginx או מקביליו ולא בapache להורדות. בד״כ עם שילוב של מוד dynamic link.
__________________
אבי |
![]() |
![]() |
# 4 |
עסק רשום [?]
דירוג מסחר: (0)
|
צריכת משאבים קצת יותר גבוהה - שאני גם בספק אם היא באמת קריטית או בכלל משתלמת ביחס עלות/תועלת לאתר ממוצע (ובכלל).
לעומת זאת, בשילוב של שניהם אתה מקבל פלטפורמה גמישה ונוחה בהרבה ואני לא בטוח עד כמה, אם בכלל, פחות יעילה מבחינת שימוש במשאבים - לדעתי זאת האופציה העדיפה לרוב המשתמשים. |
![]() |
![]() |
# 5 |
אושיית הוסטינג
דירוג מסחר: (0)
|
החיסרון ב-Apache, שהוא פותח פרוסס לכל בקשה(בהתחלה מרזרבה ואז מפעיל פרוססים נוספים), וכל פרוסס כזה דורש זכרון ובשלב מסויים מכביד על המערכת.
לעומת זאת, NGINX מטפל בבקשות בצורה שונה, ופרוסס אחד של NGINX יכול לטפל בכמה בקשות במקביל (בד"כ מגדירים פרוסס לכל ליבה). אני אתן לך דוגמא להתקנה שביצעתי, שרת שמטפל בהמון בקשות לקבצים סטטים, עם קפיצות תעבורה מטורפות (מ-10 אמביט ל-100 אמביט בשנייה), עבד עם APACHE וה-LOAD AVARAGE עמד על 30 באופן קבוע, זמן הטעינה של קובץ היה בין שנייה לשתיים. לאחר התקנה של Nginx, ה-Load avarage לא עובר את 1.5, זמן הטעינה לתמונה ירד לפחות משנייה, והלקוח הפסיק לקבל מיילים מעצבנים ממערכת הניתור. אבל nginx הוא לא הפתרון היחידי, יש גם את lighttpd, squid, varnish, ועוד. כש-Apache עובד עם Nginx אז בעל האתר יכול להמשיך לפתח את האתר כרגיל (חוקי HTACCESS לדוגמא), ו-NGINX מעביר ל-Apache רק את הבקשות לתוכן הדינאמי (הגולש לא מדבר עם Apache). ניקח עמוד סטנדרטי, מה קורה בפועל? העמוד הראשי index.php נטען דרך Apache. העמוד מפנה לעוד X תמונות, Y קבצי CSS ו-Z קבצי JS - כולם נטענים מ-Nginx. במקרה של גולש אחד, לא יהיה הבדל משמעותי בביצועים/צריכת משאבים. תכפיל את הגולש הזה ב-100, ואז אתה בוחן את היעילות של המערכת.
__________________
אבי |
![]() |
![]() |
# 6 |
חבר מתקדם
דירוג מסחר: (0)
|
תודה.
בעצם אז כשמותקן apache וngnix עדיין ייפתח פרוסס עבור כל בקשה נכון? אני יודע שכל אתר זה שונה, ולכן אני אתן דוגמה. נניח אתר הורדות עם המון כניסות ביום. משתמש בdownload.php בשביל ההורדות. דוגמה: PHP קוד:
|
![]() |
![]() |
# 7 |
עסק רשום [?]
דירוג מסחר: (0)
|
אתה שולח את הקובץ למשתמש דרך ה- PHP,
הבקשה עוברת ב- APACHE בכל מקרה. במצב כזה - שילוב של NGINX הוא מיותר ואף עלול לגרום לירידה בביצועים. כדי להנות מהיתרון היחסי של NGINX בעבודה עם תוכן סטטי, אתה צריך לשדר אותו כתוכן סטטי לכל דבר ולא לחולל אותו באמצעות PHP. |
![]() |
![]() |
# 9 |
עסק רשום [?]
דירוג מסחר: (0)
|
אני לא בא להגיד לך איך לעבוד, יכול להיות שאתה עובד בסדר גמור ואין שום סיבה שתשנה שום דבר.
אני בא להגיד לך מה צריך לקרות כדי להנות מהיתרונות של NGINX, אולי במקרה שלך זה פשוט לא מתאים ולא נחוץ(?). במקרה שדיבר עליו קרנל, מדובר באתר שמשדר תמונות ולכן התחלופה הזאת יעילה וכדאית, במקרה שלך, אולי לא. Last edited by אדיר; 19-11-11 at 19:15.. |
![]() |
![]() |
# 10 |
אושיית הוסטינג
דירוג מסחר: (0)
|
2 אפשרויות:
להשתמש בsecure download, וככה אתה מגביל את השימוש בקובץ. אפשר להורות לnginx ע״י סקריפט php איזה קובץ להגיש ואז nginx מגיש את הקובץ בלי מעורבות של php. אופציה קלה וחכמה נוספת היא להשתמש בtraffic shaping כדי לחסוך תעבורה/רוחב פס.
__________________
אבי |
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
כלים לאשכול | |
תצורת הצגה | |
|
|