پیاده سازی Amazon S3 برای وبلاگ های وردپرس

وردپرس amazon s3

توجه داشته باشید: از زمان نوشتن این مقاله ، ما از آن زمان به این کشور مهاجرت کرده ایم چرخ لنگر با یک شبکه تحویل محتوا طراحی شده توسط StackPath CDN، CDN بسیار سریعتر از آمازون است.378

تا زمانی که از یک سیستم عامل میزبانی شرکت برتر استفاده نکنید ، دستیابی به عملکرد شرکت با CMS مانند آن دشوار است وردپرس. اشتراک بار ، پشتیبان گیری ، افزونه ، تکثیر و تحویل محتوا ارزان نیست.

بسیاری از نمایندگان فناوری اطلاعات سیستم عامل هایی مانند وردپرس را مشاهده می کنند و از آنها استفاده می کنند زیرا هستند رایگان. گرچه رایگان نسبی است. وردپرس را در زیرساخت میزبانی معمولی قرار دهید و چند صد کاربر همزمان می توانند سایت شما را متوقف کنند. برای کمک به عملکرد وبلاگم ، این هفته من نصب وردپرس خود را تغییر دادم و تمام گرافیک های Amazon S3 (سرویس ذخیره سازی ساده آمازون) را فشار دادم. این امر باعث می شود تا سرور من به راحتی HTML را از طریق PHP / MySQL فشار دهد.

آمازون S3 یک رابط خدمات وب ساده ارائه می دهد که می تواند برای ذخیره و بازیابی هر مقدار داده ، در هر زمان و از هرجای وب مورد استفاده قرار گیرد. این برنامه به هر توسعه دهنده دسترسی به همان زیرساخت ذخیره سازی داده بسیار مقیاس پذیر ، قابل اعتماد ، سریع و ارزان که آمازون از آن برای راه اندازی شبکه جهانی وب سایت های خود استفاده می کند ، می دهد. هدف این سرویس به حداکثر رساندن مزایای مقیاس و انتقال این مزایا به توسعه دهندگان است.

برای تبدیل سایت برای Amazon S3 کمی کار لازم بود ، اما در اینجا اصول زیر ذکر شده است:

  1. ثبت نام برای آمازون خدمات وب.
  2. افزونه Firefox را برای S3 بارگیری کنید. این یک رابط عالی برای مدیریت محتوا در S3 فراهم می کند.
  3. اضافه کردن سطل، در این مورد اضافه کردم www.martech.zone.
  4. یک CNAME به ثبت دامنه خود اضافه کنید تا یک دامنه فرعی از سایت خود را برای میزبانی مجازی به Amazon S3 هدایت کنید.
  5. افزونه وردپرس را برای Amazon S3 بارگیری و نصب کنید.
  6. شناسه کلید و رمز مخفی AWS Access خود را تنظیم کنید و روی به روزرسانی کلیک کنید
  7. زیر دامنه / سطلی را که در بالا ایجاد کرده اید برای آن انتخاب کنید از این سطل استفاده کنید تنظیم می باشد.

wp-amazon-s3-settings.png

مراحل بعدی قسمت سرگرم کننده بود! من نمی خواستم فقط از S3 محتوای آینده را ارائه دهم ، می خواستم همه مطالب ، از جمله تبلیغات ، مضامین و پرونده های رسانه ای گذشته را ارائه دهم.

  1. پوشه هایی برای ایجاد کردم تبلیغات, تمو ارسال در سطل من در S3.
  2. من از تمام محتوای فعلی خود (فایلهای تصویری و رسانه ای) در پوشه های قابل استفاده پشتیبان تهیه کردم.
  3. من پرونده CSS خود را در طرح زمینه خود اصلاح کردم تا همه تصاویر را از آن خارج کنم www.martech.zone/themes.
  4. من انجام دادم MySQL را جستجو و جایگزین کنید و هر مرجعی را به محتوای رسانه ای که از زیر دامنه S3 نمایش داده می شود ، به روز کنید.
  5. من تمام مراجع تصویر را برای تبلیغاتی که از پوشه ads در زیر دامنه S3 نمایش داده می شود ، به روز کردم.

از اینجا به بعد ، من به سادگی نیاز به بارگذاری رسانه در S3 دارم تا اینکه از گفتگوی پیش فرض بارگذاری تصویر برای وردپرس استفاده کنم. این پلاگین در قرار دادن یک نماد S3 در همان مکان بارگذاری / درج آیکون ها در مدیر وردپرس کار خارق العاده ای انجام می دهد.

انتقال همه داده ها و اجرای چند روز S3 برای 0.12 دلار در هزینه S3 منجر شده است ، بنابراین من در مورد هزینه های مربوطه نگران نیستم - شاید هزینه چند دلار در ماه باشد. از طرف مثبت ، اگر تعداد زیادی بازدید کننده داشته باشم ، می توانم خیلی بیشتر از دستگیره های فعلی سیستم عامل را اداره کنم. سایت من در حال بارگیری صفحه اصلی در حدود 40٪ از اوقات قبلی، بنابراین من کاملاً از این حرکت خوشحالم!

بهترین چیز در مورد این حرکت این است که در واقع هیچ پیشرفتی لازم نداشت!

28 نظرات

  1. 1

    سلام،

    من یک حساب S3 آمازون دارم ، اما بعد از تلاش برای کشف مسائل ، آن را ترک کردم زیرا کار آن بسیار دشوار است. آیا افزودنی فایرفاکس برای 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 خود را به یک سطل Amazon CloudFront تبدیل کنید ، که یک شبکه جهانی توزیع محتوا با چند سرور واقعی و تأخیر کم ایجاد می کند. در اینجا پیوندی با تمام جزئیات: http://aws.amazon.com/cloudfront/faqs/

    همچنین ، افزونه wp-supercache می تواند در سایت های دارای بازدید بالا سرعت فوق العاده ای را افزایش دهد زیرا بار CPU و تماس پایگاه داده را تا حد زیادی کاهش می دهد.

    • 5

      کارلتون خیلی باحاله! بنابراین بسیار یک شبکه توزیع شده مانند مستقیم Akamai. من نمی فهمیدم که آنها چنین چیزی در دسترس دارند! من ممکن است با دیدن برخی از هزینه ها از آن استفاده کنم.

      من قبلاً حافظه پنهان با wp را فعال کرده ام ، اما محتوای پویایی دارم ، بنابراین واقعاً با آن دست و پنجه نرم کردم ، زیرا گاهی اوقات محتوایی را که می خواستم در زمان واقعی بارگیری کنم ، پنهان می کند.

      • 6

        داگلاس

        از توصیف آنها به نظر می رسد که آمازون کار کاملا متفاوتی را انجام می دهد ، آنها می گویند:

        "آمازون CloudFront از 14 مکان لبه در بازارهای بزرگ در سراسر جهان استفاده می کند. هشت نفر در ایالات متحده هستند (Ashburn، VA؛ Dallas / Fort Worth، TX؛ Los Angeles، CA؛ Miami، FL؛ Newark، NJ؛ Palo Alto، CA؛ Seattle، WA؛ St. Louis، MO). چهار نفر در اروپا هستند (آمستردام ؛ دوبلین ؛ فرانکفورت ؛ لندن). دو نفر در آسیا (هنگ کنگ ، توکیو) هستند. "

        اساساً آنها از مبادلات اینترنتی برای استفاده از نزدیكی خود با کاربر نهایی استفاده می كنند ، جایی كه CDN مانند Akamai دارای سرورهای بسیار نزدیك به کاربر نهایی است كه معمولاً در شبكه ISP است.

        روش آمازون برای انجام این کار بسیار ارزان تر و م Akثرتر Akamai است.

        روجریو - http://www.itjuju.com/

  4. 7

    من نمی خواهم بگویم "به دست آوردن عملکرد شرکت با CMS مانند وردپرس" دشوار است.

    همه اینها در نحوه تنظیم زیرساخت یا نحوه میزبانی CMS است.
    همانطور که کارلتون با استفاده از پلاگین wp-supercache اشاره کرد ، نحوه کدگذاری CMS نیز می تواند سهم بزرگی در عملکرد آن داشته باشد.

    بهتر بود که کارایی افزونه wp-supercache از ابتدا برای وردپرس تعبیه شده باشد - اما این امر به نوشتن جلوی جلوی آن نیاز دارد. کدام است lightpress.org انجام داد.

    خاموش کردن بارگذاری محتوای استاتیک در چیزی مانند S3 روش خوبی برای بارگیری پردازش و تحویل از سرور اصلی است. این یک روش آسان و راحت برای ضربه زدن به زیرساخت های آمازون برای انجام کارهای سنگین است ، اما هنگامی که به آستانه کرتین رسیدید ، آمازون گران می شود و انجام آن در خانه و تهیه CDN ارزان تر خواهد بود.

    روجریو - http://www.itjuju.com/

    روان
    من کمی در مورد آن وضعیت فکر می کردم ، اگر فقط 100 نفر دور هم جمع می شدند و هر ماه قیمت سرور مناسبی را که برای آنها می پرداختند می توانستند بپردازند ، می توانند زیرساخت میزبانی را بسازند یا تقریباً همه چیز را کنترل کند.

  5. 8

    0.12 دلار برای اولین دو روز خدمات S3. آیا چند ماه دیگر دوباره موضوع را مرور می کنید و تعدادی از آمار ترافیک در مقابل هزینه ها را نشان می دهید؟ جالب است که ببینید هزینه چگونه به بازدید کنندگان منحصر به فرد و در برابر هزینه های تبلیغات یا سایر ورودی ها تقسیم می شود.

  6. 13

    اگر ویندوز هستید می توانید از مرورگر S3 استفاده کنید - http://s3browser.com برای بارگذاری پرونده هایی مانند تصاویر ، اسکریپت ها و غیره در Amazon S3. باید ابزاری داشته باشد.

    و با تشکر برای پست مفید!

  7. 14

    آمازون S3 یک سرویس فوق العاده ارزشمند است. من فقط در مرحله ادغام آن در CMS هستم. تنها مسئله ای که از دیدگاه توسعه و نه دیدگاه خدمات آمازون به آن برخوردم این است که اگر می خواهید کاربر شما پرونده را به طور شفاف از طریق POST به طور شفاف و مستقیم در S3 بارگذاری کند و یک فرم چند بخشی دارید که متن خاصی را برای محلی شما در بر می گیرد. پایگاه داده ، گیر کرده اید یا باید آن را به دو شکل جدا کنید ، یا سعی کنید از ajax برای بارگذاری پرونده ابتدا استفاده کنید و سپس موفقیت داده ها را به صورت محلی ارسال کنید.

    اگر کسی راه حل بهتری دارد ، در صورت تمایل به من اطلاع دهید: o)

    با این وجود ، صرفه جویی در هزینه برای میزبانی از پرونده های پربازدید ، توسعه چنین سیستمی را ضمانت می کند.

    گرانت

    سرکوب سیستم های مدیریت لیست

  8. 15

    سلام،

    عالی بنویسید من همانطور که توصیف می کنید قدم برداشته ام ، اما در پنل مدیریت خود که تصاویر را بارگذاری می کنم ، دکمه S3 را نمی بینم. من متوجه شده ام که تصاویر من ، وقتی به طور معمول در آمازون بارگذاری می شوند ، به این معنی است که اکنون می توانم تمام تصاویر موجود خود را کپی کرده و تصاویر موجود در سرور را حذف کنم؟

    و آیا باید از کجا تصاویر من اصلاح شود یا پلاگین این کار را انجام می دهد؟

  9. 16

    سلام اسکات ،

    باید یک نماد پایگاه داده کوچک را ببینید که در سمت راست نماد معمولی شما قرار دارد. این نمادی است که در پنجره آمازون ظاهر می شود. من تمام wp-content / آپلودها را به آمازون منتقل کردم و مطمئن شدم که مسیر مشابهی را دارم ... تنها تفاوت در زیر دامنه است. آنها در بودند http://www... و اکنون آنها در images.marketingtechblog.com هستند. بعد از اینکه همه تصاویر را در آمازون کپی کردم ، از PHPMyAdmin استفاده کردم و جستجو کردم و src = ”http://martech.zone را جایگزین کردم و src =” images.marketingtechblog.com را جایگزین کردم. (https://martech.zone/wordpress/mysql-search-replace/)

    امیدوارم که کمک کند! این یکپارچه نیست ، اما کار می کند.

    داگ

  10. 17

    سلام داگلاس ، با تشکر برای آن ، من DB را به روز کردم بنابراین همه تصاویر به تصاویر نشان می دهند. ، اما من می بینم که برخی از انگشتان شست (وقتی از طریق اطلاعات صفحه به آنها نگاه می شود) iamge را هنوز در www نشان می دهد.

    در اینجا این سایت (www.gamefreaks.co.nz) وجود دارد - a ، alos که دارای برخی از مشکلات مهم حافظه برای صفحه اول است ، فقط هنگامی شروع به تغییر میزبانی کرد ، بنابراین من اکنون به دنبال تخلیه برخی از فشار میزبانی به S3 هستم. 😎

  11. 18
  12. 19
  13. 20

    سلام جو ،

    پست عالی!

    آیا این افزونه وردپرس "اونی که شما ذکر کردید"

    http://tantannoodles.com/toolkit/wordpress-s3/

    با آخرین نسخه وردپرس کار می کنید؟

    بسیار جالب است که بدانم آیا سازگار است ، زیرا فکر نمی کنم مدتی به روز شده باشد. قدر کمک را بدانید

    • 21

      این با آخرین نسخه سازگار است ، اما من صادقانه می گویم که نحوه کار آن را دوست ندارم - شما باید تمام تصاویر را با فرایند دیگری تغییر دهید و بارگذاری کنید در S3. در واقع ممکن است یک ادغام مستحکم تر CDN (شبکه تحویل محتوا) با WP ایجاد کنیم که بیش از آنکه فرآیند دیگری را بخواهد ، همگام سازی کند.

  14. 22
  15. 23

    آیا می دانید این با "سطل های خارجی" هم کار می کند؟ من می خواهم این مورد را برای وبلاگ یکی از دوستانم تنظیم کنم و به او اجازه دهم از یک سطل در حساب AWS من استفاده کند (من قبلاً یک حساب کاربری برای او ایجاد کردم و با استفاده از ابزار آمازون آمازون به او اجازه دسترسی به یکی از سطل هایم را دادم).

  16. 24
  17. 25
    • 26

      سلیا ، به خانه AWS بروید http://aws.amazon.com/ و در لیست کشویی "حساب من / کنسول من" ، "اعتبارنامه های امنیتی" را انتخاب کنید. در صورت نیاز وارد سیستم شوید. از آنجا ، به سمت دسترسی به اعتبارنامه بروید و شناسه های کلید دسترسی خود را در لیست مشاهده خواهید کرد. یکی از موارد مربوط به شناسه کلید این افزونه را کپی کرده و سپس روی پیوند "نمایش" کلیک کنید تا کلید دسترسی مخفی طولانی تر را ببینید. آن را کپی کرده و در تنظیمات افزونه نیز جایگذاری کنید. شما باید پس از آن کاملاً آماده باشید!

  18. 27
  19. 28

شما چه فکر میکنید؟

این سایت از Akismet برای کاهش هرزنامه استفاده می کند. بدانید که چگونه نظر شما پردازش می شود.