הטמעת אמזון S3 לבלוגים של וורדפרס

אמזון s3

הערה: מאז שכתבנו את זה, מאז עברנו גַלגַל תְנוּפָה עם רשת להעברת תוכן מופעל על ידי StackPath CDN, CDN מהיר בהרבה מאמזון.378

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

נציגי IT רבים צופים בפלטפורמות כמו WordPress ומשתמשים בהן מכיוון שהן חופשי. עם זאת, חינם הוא יחסי. שים את WordPress על תשתית אירוח אופיינית וכמה מאות משתמשים בו זמנית יכולים להפסיק את האתר שלך. כדי לסייע בביצועי הבלוג שלי, שיניתי השבוע את ההתקנה שלי של WordPress לדחוף את כל הגרפיקה מאמזון S3 (Amazon Simple Storage Service). זה משאיר לשרת שלי פשוט לדחוף HTML באמצעות PHP / MySQL.

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

כדי להמיר את האתר ל- Amazon S3 נדרש מעט עבודה, אך להלן היסודות:

  1. הרשם לקבלת אמזון שירותי אינטרנט.
  2. טען את תוסף Firefox עבור S3. זה מספק לך ממשק נהדר לניהול תוכן ב- S3.
  3. הוסף דלי, במקרה הזה הוספתי www.martech.zone.
  4. הוסף CNAME לרשם הדומיינים שלך כדי להפנות תת-דומיין מהאתר שלך לאמזון S3 לאירוח וירטואלי.
  5. הורד והתקן את תוסף וורדפרס עבור אמזון S3.
  6. הגדר את מזהה מפתח ה- AWS שלך ואת המפתח הסודי ולחץ על עדכן.
  7. בחר את תת-הדומיין / דלי שיצרת לעיל עבור ה- השתמש בדלי הזה הגדרה.

wp-amazon-s3-settings.png

השלבים הבאים היו החלק המהנה! לא רציתי להגיש רק תוכן עתידי מ- S3, רציתי להציג את כל התוכן, כולל מודעות, ערכות נושא וקבצי מדיה קודמים.

  1. יצרתי תיקיות עבור מודעות, נושאים, ו העלאות בדלי שלי על S3.
  2. גיביתי את כל התוכן הנוכחי שלי (קבצי תמונה ומדיה) לתיקיות הרלוונטיות.
  3. שיניתי את קובץ ה- CSS שלי בנושא שלי כדי לשלוף את כל התמונות www.martech.zone/themes.
  4. עשיתי חיפוש והחלפה של MySQL ועדכן כל הפניה לתוכן מדיה שיוצג מתת-הדומיין S3.
  5. עדכנתי את כל הפניות התמונה למודעות שיוצגו מתיקיית המודעות בתת-הדומיין S3.

מכאן והלאה, אני פשוט צריך להעלות מדיה ל- S3 במקום להשתמש בדיאלוג ברירת המחדל להעלאת תמונות עבור WordPress. התוסף עושה עבודה נהדרת בהצבת סמל S3 באותו מיקום של סמלי העלאה / הכנסה במנהל הוורדפרס.

העברת כל הנתונים והפעלה ב- S3 למשך כמה ימים הביאה ל- 0.12 $ בגין חיובי S3, ולכן אינני מודאג מהעמלות הכרוכות בכך - אולי כמה דולרים בחודש זה יעלה. בצד החיובי, אם אקבל המון מבקרים, אני אמור להיות מסוגל להתמודד עם הרבה יותר ממה שמטפל בפלטפורמה הנוכחית. האתר שלי טוען את דף הבית בערך 40% מהזמן שהיה פעםאז אני די מרוצה מהמהלך!

הדבר הנחמד ביותר במהלך זה הוא שהוא לא הצריך פיתוח כלשהו!

תגובות 28

  1. 1

    היי,

    יש לי חשבון של אמזון S3, אבל אחרי שניסיתי להבין את הדברים, פשוט עזבתי אותו כי זה קשה מדי. האם תוסף Firefox ל- S3 מקל על זה הרבה יותר?

    • 2

      היי רמין,

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

      דאג

  2. 3

    עלי להוסיף, תצטרך להפנות את ה- CNAME שלך לחדש שם_הייחודי_סביבתי_הפצה שלך.cloudfront.net במקום ל הדומיין_יחודי שלך.s3.amazonaws.com. אבל אחרי זה, אתה מתייחס לזה בדיוק כמו דלי S3 רגיל.

    זה אכן עולה יותר בעת שימוש באפשרות CloudFront במהירות גבוהה / בהשהיה נמוכה יותר. אם תחליט שאתה מעדיף לחזור לגרסת S3 הסטנדרטית, פשוט החלף את ה- CNAME שלך כדי להצביע חזרה על s3.amazonaws.com במקום זאת.

    לפני כשנה כתבתיhttp://www.carltonbale.com/tag/amazon-s3/"a כמה פוסטים בבלוג ב- Amaon S3 לכל מי שמתעניין.

  3. 4

    אם אתה מחפש עוד יותר מהירות, הפוך את ה- Amazon S3 Bucket שלך לדלי CloudFront של אמזון, שיוצר רשת הפצת תוכן גלובלית אמיתית עם שרתים ואחרים. הנה קישור עם כל הפרטים: http://aws.amazon.com/cloudfront/faqs/

    כמו כן, התוסף wp-supercache יכול לתת עליות מהירות אדירות באתרים בעלי תנועה רבה שכן הוא מפחית מאוד את עומס המעבד ואת שיחות מסדי הנתונים.

    • 5

      מגניב מאוד, קרלטון! אז זה מאוד רשת מבוזרת כגון Akamai. לא הבנתי שיש להם את זה! אני עשוי לנצל לאחר שראיתי חלק מהעלויות.

      היה לי אפשרות לשמירת מטמון עם wp בעבר, אבל יש לי תוכן דינמי כלשהו, ​​כך שנאבקתי בזה ממש מכיוון שלפעמים היה מטמון תוכן שלמעשה רציתי לטעון אותו בזמן אמת.

      • 6

        דאגלס,

        מהתיאור שלהם זה נשמע כאילו אמזון עושה משהו אחר לגמרי, הם אומרים:

        "אמזון CloudFront משתמשת ב -14 מיקומי קצה בשווקים הגדולים בעולם. שמונה נמצאים בארצות הברית (אשברן, וירג'יניה; דאלאס / פורט וורת ', טקסס; לוס אנג'לס, קליפורניה; מיאמי, פלורידה; ניוארק, ניו ג'רזי; פאלו אלטו, קליפורניה; סיאטל, וושינגטון; סנט לואיס, מיזורי). ארבעה נמצאים באירופה (אמסטרדם; דבלין; פרנקפורט; לונדון). שניים נמצאים באסיה (הונג קונג, טוקיו). "

        הם בעצם מנצלים את חילופי האינטרנט כדי למנף את קרבתם למשתמש הקצה, כאשר כמו CDN כמו Akamai יש שרתים הרבה יותר קרובים למשתמש הקצה בדרך כלל ברשת ספק האינטרנט.

        הדרך של אמזונות לעשות זאת היא Akamai הרבה יותר זולה ויעילה.

        רוג'ריו - http://www.itjuju.com/

  4. 7

    לא הייתי אומר שקשה "להשיג ביצועים ארגוניים עם CMS כמו WordPress".

    הכל באופן שבו אתה מתקין את התשתית שלך או את הדרך בה אתה מארח את ה- CMS שלך.
    אופן קידוד ה- CMS עצמו יכול גם הוא לשחק תפקיד גדול בביצועיו כפי שציין קרלטון באמצעות תוסף wp-supercache.

    זה היה טוב יותר אם הפונקציונליות של תוסף ה- wp-supercache נבנתה בכדי ללחוץ על WordPress מההתחלה - אבל זה ידרוש לכתוב מחדש את הקצה. וזה מה lightpress.org עשה.

    ביטול טעינת תוכן סטטי למשהו כמו S3 הוא דרך טובה להוריד עיבוד ומסירה מהשרת הראשי. זו דרך קלה ונוחה להקיש בתשתית Amazons כדי לבצע את ההרמה הכבדה, אך ברגע שתגיע לסף ה- cretin, אמזון תתחיל להתייקר ויהיה זול יותר לעשות זאת בבית וללכת עם CDN.

    רוג'ריו - http://www.itjuju.com/

    Ps
    חשבתי קצת על המצב הזה, אם רק 100 איש יתכנסו ויתרמו בכל חודש את המחיר של שרת הגון שבדרך כלל הם ישלמו עבורו הם יוכלו לבנות / להרכיב תשתית אירוח שתוכל להתמודד כמעט עם כל דבר.

  5. 8

    0.12 $ לימים הראשונים של שירותי S3. האם היית בוחן מחדש את הנושא בעוד כמה חודשים ומציג נתונים סטטיסטיים של תנועה לעומת עלויות? יהיה מעניין לראות כיצד העלות מתפרקת למבקרים ייחודיים ונגד עלויות מודעות או תשומות אחרות.

  6. 13
  7. 14

    אמזון S3 הוא שירות מוערך להפליא. אני רק בתהליך שילובו ב- CMS. הנושא היחיד שנתקלתי בו מנקודת מבט של פיתוח, ולא מנקודת מבט של שירות אמזון, הוא שאם אתה רוצה שהמשתמש שלך יעלה בשקיפות את הקובץ ישירות ל- S3 באמצעות POST ויש לך טופס מרובה חלקים המשלב טקסט המיועד למקומי שלך מסד נתונים, אתה תקוע. עליכם להפריד אותו לשתי טפסים, או לנסות להשתמש ב- ajax כדי להעלות את הקובץ תחילה ואז בהצלחה יש להגיש את הנתונים באופן מקומי.

    אם למישהו יש פיתרון טוב יותר, אל תהסס ליידע אותי: o)

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

    להעניק

    מערכות ניהול רשימות דיכוי

  8. 15

    היי,

    נהדר לכתוב. עברתי כפי שאתה מתאר, אבל בלוח הניהול שלי שבו אני מעלה תמונות, אני לא רואה כפתור S3. שמתי לב שהתמונות שלי, כשהן מועלות בדרך כלל בסופו של דבר באמזון, האם זה אומר שאני יכול להעתיק את כל התמונות הקיימות שלי ולמחוק את התמונות בשרת?

    והאם אני צריך לשנות מאיפה התמונות שלי מגיעות או שהתוסף עושה את זה?

  9. 16

    היי סקוט,

    אתה אמור לראות סמל קטן למראה מסד נתונים משמאל לסמל האופייני שלך. זה הסמל שצץ את חלון אמזון. העברתי את כל תוכן / העלאות ה- wp לאמזון וודאתי ​​שיש לי את אותה הדרך ... ההבדל היחיד הוא תת-הדומיין. הם היו ב http://www... ועכשיו הם נמצאים ב- images.marketingtechblog.com. לאחר שהעתקתי את כל התמונות לאמזון, השתמשתי ב- PHPMyAdmin ועשיתי חיפוש והחלפה של src = ”http://martech.zone והחלפתי אותו ב- src =” images.marketingtechblog.com. (https://martech.zone/wordpress/mysql-search-replace/)

    מקווה שעוזר! זה לא חלק, אבל זה עובד.

    דאג

  10. 17

    היי דאגלס, תודה על כך, עדכנתי את ה- DB כך שכל התמונות מצביעות על תמונות. אבל אני רואה שחלק מהאגודלים (כשמסתכלים על דרך מידע העמוד) מראה את ה- imamge עדיין באתר www.

    הנה האתר (www.gamefreaks.co.nz) - א, עם בעיות זיכרון מרכזיות בעמוד הראשון, התחיל רק ברגע שהעברנו את האחסון, ומכאן שאני מסתכל כעת על הורדת חלק מלחץ האחסון ל- S3. 😎

  11. 18
  12. 19
  13. 20
    • 21

      זה תואם לגרסה האחרונה, אבל אני באמת לא אוהב את הדרך בה זה עובד - אתה צריך להזיז ולהעלות את כל התמונות ל- S3 בתהליך אחר. אנו עשויים לבנות אינטגרציה חזקה יותר של CDN (Network Delivery Network) עם WP שמסנכרנת ולא דורשת תהליך אחר.

  14. 22
  15. 23

    האם אתה יודע אם זה עובד גם עם "דליים חיצוניים"? אני רוצה להגדיר את זה לבלוג של חבר שלי ולתת לו להשתמש בדלי בחשבון AWS שלי (כבר יצרתי עבורו חשבון משתמש ונתתי לו גישה לאחד מהדליים שלי באמצעות כלי ה- IAM של אמזון).

  16. 24
  17. 25
    • 26

      סיליה, לך לבית AWS http://aws.amazon.com/ ובתפריט הנפתח "החשבון / הקונסולה שלי" בחר "אישורי אבטחה". היכנס אם אתה צריך. משם, גלול מטה אל אישורי הגישה ותראה את מזהי מפתח הגישה שלך. העתק אחד מאלה עבור מזהה המפתח עבור תוסף זה, ואז לחץ על הקישור "הצג" כדי לראות את מפתח הגישה הסודי הארוך יותר. העתק את זה והדבק אותו גם בהגדרות התוסף. אתה צריך להיות מסודר אחרי זה!

  18. 27
  19. 28

מה אתה חושב?

אתר זה משתמש Akismet כדי להפחית דואר זבל. למד כיצד הנתונים שלך מעובדים.