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

وردپرس amazon s3

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

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

بسیاری از نمایندگان فناوری اطلاعات سیستم عامل هایی مانند WordPress را مشاهده می کنند و از آنها استفاده می کنند زیرا هستند رایگان. گرچه رایگان نسبی است. وردپرس را روی زیرساخت میزبانی معمولی قرار دهید و حدوداً صد کاربر همزمان می توانند سایت شما را متوقف کنند. برای کمک به عملکرد وبلاگم ، این هفته من نصب وردپرس خود را تغییر دادم و تمام گرافیک های 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 خود را به جدید نشان دهید your_unique_cloudfront_distribution_name.cloudfront.net به جای to your_unique_subdomain.s3.amazonaws.com. اما پس از آن، شما با آن مانند یک سطل S3 معمولی رفتار می کنید.

    هنگام استفاده از گزینه CloudFront با سرعت بالاتر/ تاخیر کم هزینه بیشتری دارد. اگر تصمیم دارید که ترجیح دهید به نسخه استاندارد S3 برگردید، فقط CNAME خود را تغییر دهید تا به جای آن به s3.amazonaws.com برگردید.

    حدود یک سال پیش نوشتمhttp://www.carltonbale.com/tag/amazon-s3/"a چند پست وبلاگ در Amaon S3 برای هر کسی که علاقه دارد.

  3. 4

    اگر به دنبال افزایش بیشتر سرعت هستید، سطل Amazon S3 خود را به یک سطل آمازون CloudFront تبدیل کنید، که یک شبکه توزیع محتوای چند سرور جهانی واقعی و با تاخیر کم ایجاد می کند. در اینجا یک لینک با تمام جزئیات: http://aws.amazon.com/cloudfront/faqs/

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

    • 5

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

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

      • 6

        داگلاس

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

        «Amazon CloudFront از 14 مکان لبه در بازارهای بزرگ در سراسر جهان استفاده می کند. هشت نفر در ایالات متحده هستند (اشبرن، ویرجینیا؛ دالاس/فورث ورث، تگزاس؛ لس آنجلس، کالیفرنیا؛ میامی، فلوریدا؛ نیوآرک، نیوجرسی؛ پالو آلتو، کالیفرنیا؛ سیاتل، WA؛ سنت لوئیس، MO). چهار نفر در اروپا هستند (آمستردام، دوبلین، فرانکفورت، لندن). دو نفر در آسیا (هنگ کنگ، توکیو) هستند.

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

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

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

  4. 7

    نمی توانم بگویم که «به دست آوردن عملکرد سازمانی با یک سیستم مدیریت محتوا مانند وردپرس» دشوار است.

    همه چیز به نحوه راه اندازی زیرساخت یا نحوه میزبانی 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

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

    اگه کسی راه حل بهتری داره بهم بگه :o)

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

    گرانت

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

  8. 15

    سلام،

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

    و آیا باید تغییر دهم که تصاویر من از کجا آمده اند یا افزونه این کار را انجام می دهد؟

  9. 16

    سلام اسکات ،

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

    امیدوارم که کمک کند! بدون درز نیست، اما کار می کند.

    داگ

  10. 17

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

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

  11. 18

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

    TNX

  12. 19

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

  13. 20

    سلام جو ،

    پست عالی!

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

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

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

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

    • 21

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

  14. 22
  15. 23

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

  16. 24
  17. 25
    • 26

      سلیا، به خانه AWS بروید http://aws.amazon.com/ و در قسمت کشویی My Account / Console، گزینه Security Credentials را انتخاب کنید. در صورت نیاز وارد سیستم شوید. از آنجا، به سمت پایین به Access Credentials بروید و شناسه های کلید دسترسی خود را مشاهده خواهید کرد. یکی از آن‌ها را برای شناسه کلید این افزونه کپی کنید و سپس روی پیوند «نمایش» کلیک کنید تا کلید دسترسی مخفی طولانی‌تر را ببینید. آن را کپی کرده و در تنظیمات افزونه نیز قرار دهید. بعد از آن باید کاملا آماده باشید!

  18. 27
  19. 28

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

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