Укараненне Amazon S3 для блогаў WordPress

Amazon s3 WordPress

нататка: З моманту напісання гэтага артыкула мы перайшлі на маховым кола з Сеткі дастаўкі кантэнту харчаванне ад StackPath CDN, значна хутчэйшы CDN, чым Amazon.378

Калі вы не карыстаецеся прэміум-платформай для хостынгу для прадпрыемстваў, цяжка атрымаць карпаратыўную прадукцыйнасць з падобнай CMS WordPress. Размеркаванне нагрузкі, рэзервовае капіраванне, празмернасць, тыражаванне і дастаўка змесціва каштуюць нятанна.

Многія прадстаўнікі ІТ праглядаюць такія платформы, як WordPress, і выкарыстоўваюць іх, таму што яны ёсць бясплатна. Халява - адносна. Размясціце WordPress на тыповай інфраструктуры хостынгу, і некалькі сотняў адначасовых карыстальнікаў могуць спыніць ваш сайт. Каб дапамагчы ў працы майго блога, на гэтым тыдні я змяніў маю ўстаноўку WordPress, націснуўшы на ўсю графіку з Amazon S3 (Amazon Simple Storage Service). Гэта пакідае мой сервер проста штурхаць HTML праз PHP / MySQL.

Amazon S3 забяспечвае просты інтэрфейс вэб-сэрвісаў, які можна выкарыстоўваць для захоўвання і атрымання любога аб'ёму дадзеных у любы час з любой кропкі Інтэрнэту. Гэта дае любому распрацоўшчыку доступ да той самай высока маштабуецца, надзейнай, хуткай і недарагой інфраструктуры захоўвання дадзеных, якую Amazon выкарыстоўвае для запуску ўласнай глабальнай сеткі вэб-сайтаў. Паслуга накіравана на максімізацыю выгады ад маштабу і перадачу гэтых пераваг распрацоўшчыкам.

Каб пераўтварыць сайт для Amazon S3, спатрэбілася трохі працы, але вось асновы:

  1. Падпішыцеся на Amazon Web Services.
  2. Загрузіце дапаўненне Firefox для S3. Гэта дае вам выдатны інтэрфейс для кіравання змесцівам у S3.
  3. Дадаць вядро, у дадзеным выпадку я дадаў www.martech.zone.
  4. Дадайце CNAME у свой рэгістратар даменаў, каб накіраваць субдамен з вашага сайта на Amazon S3 для віртуальнага хостынгу.
  5. Загрузіце і ўсталюйце плагін WordPress для Amazon 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 у тым самым месцы значкоў Загрузка / Устаўка ў адміністратара WordPress.

Перасоўванне ўсіх дадзеных і праца на S3 на працягу некалькіх дзён прывялі да 0.12 даляра ў зборах S3, таму мяне не хвалююць звязаныя з гэтым зборы - магчыма, некалькі даляраў у месяц каштуюць. З іншага боку, калі я набяру шмат наведвальнікаў, я змагу апрацаваць значна больш, чым цяперашняя платформа. Мой сайт загружае хатнюю старонку прыблізна 40% часу, які раней, так што я вельмі задаволены пераездам!

Самае прыемнае ў гэтым кроку - гэта тое, што ён на самай справе не патрабаваў ніякага развіцця!

28 Каментары

  1. 1

    прывітанне,

    У мяне ёсць уліковы запіс Amazon S3, але пасля спробы разабрацца, я проста пакінуў яго, бо гэта занадта складана. Можа, дадатак Firefox для S3 значна прасцей?

    • 2

      Прывітанне Рамін,

      Надбудова Firefox сапраўды была ключавой часткай галаваломкі. Перш чым убудова запрацуе, трэба мець на месцы вядро - так гэта зробіць яго хуткім.

      Doug

  2. 3

    Я павінен дадаць, вам трэба будзе накіраваць свой CNAME на новы your_unique_cloudfront_distribution_name.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 у сегмент Amazon CloudFront, які стварае сапраўдную глабальную сетку размеркавання кантэнту з некалькімі затрымкамі. Вось спасылка з усімі падрабязнасцямі: http://aws.amazon.com/cloudfront/faqs/

    Акрамя таго, убудова wp-supercache можа велізарна павялічыць хуткасць на сайтах з вялікім трафікам, паколькі значна памяншае нагрузку на працэсар і выклікі баз дадзеных.

    • 5

      Вельмі крута, Карлтон! Так што гэта вельмі размеркаваная сетка, такая як Akamai. Я не разумеў, што ў іх гэта ёсць! Я магу скарыстацца, убачыўшы некаторыя выдаткі.

      У мяне было кэшаванне з уключаным wp, але ў мяне ёсць дынамічны кантэнт, таму я сапраўды змагаўся з ім, бо часам кэшаваў змест, якое я на самой справе хацеў загрузіць у рэжыме рэальнага часу.

      • 6

        Дуглас,

        З іх апісання падобна, што Amazon робіць нешта зусім іншае, яны кажуць:

        «Amazon CloudFront выкарыстоўвае 14 краёвых месцаў на асноўных рынках свету. Восем знаходзяцца ў ЗША (Ашберн, Вірджынія; Далас / Форт-Уэрт, штат Тэхас; Лос-Анджэлес, Каліфорнія; Маямі, Фларыда; Ньюарк, Нью-Джэрсі; Пала-Альта, Каліфорнія; Сіэтл, штат Вашынгтон; Сэнт-Луіс, Місуры). Чатыры знаходзяцца ў Еўропе (Амстэрдам; Дублін; Франкфурт; Лондан). Два знаходзяцца ў Азіі (Ганконг, Токіо) ".

        Яны ў асноўным выкарыстоўваюць перавагі Інтэрнэт-біржаў, каб павысіць іх блізкасць да канчатковага карыстальніка, дзе, як CDN, як Akamai, серверы значна бліжэй да канчатковага карыстальніка, як правіла, у сетцы Інтэрнэт-правайдэра.

        Амазонкі робяць гэта нашмат танней і больш эфектыўна Akamai.

        Раджэрыа - http://www.itjuju.com/

  4. 7

    Я б не сказаў, што складана "атрымаць карпаратыўную прадукцыйнасць з дапамогай CMS накшталт WordPress".

    Уся справа ў тым, як вы наладжваеце інфраструктуру альбо спосаб размяшчэння вашай сістэмы кіравання зместам.
    Тое, як была закадзіравана сама CMS, таксама можа адыграць вялікую ролю ў яе прадукцыйнасці, як адзначыў Карлтон з выкарыстаннем убудовы wp-supercache.

    Было б лепш, калі б функцыянальнасць убудовы wp-supercache была ўбудаваная ў wordpress з самага пачатку - але для гэтага спатрэбіцца перапісаць пярэдні канец. Што ёсць што lightpress.org зрабіў.

    Выключэнне загрузкі статычнага змесціва на нешта накшталт S3 - гэта добры спосаб разгрузіць апрацоўку і дастаўку з асноўнага сервера. Гэта просты і зручны спосаб задзейнічаць інфраструктуру амазонак, каб зрабіць цяжкую працу, але як толькі вы дасягнеце крэтынавага парога, Amazon пачне даражэць, і танней будзе рабіць гэта дома і ехаць з CDN.

    Раджэрыа - http://www.itjuju.com/

    Ps
    Я крыху задумваўся над гэтай сітуацыяй, калі б проста 100 чалавек сабраліся і штомесяц прыносілі кошт прыстойнага сервера, за які яны звычайна плацілі, каб стварыць / сабраць хостынгавую інфраструктуру, здольную апрацоўваць практычна ўсё.

  5. 8

    0.12 даляра за першыя некалькі дзён паслуг S3. Ці можаце вы перагледзець тэму праз некалькі месяцаў і паказаць статыстыку трафіку ў параўнанні з выдаткамі? Было б цікава паглядзець, як кошт разбіваецца на ўнікальных наведвальнікаў і ў залежнасці ад выдаткаў на рэкламу альбо іншых матэрыялаў.

  6. 13

    Калі вы Windows, вы можаце выкарыстоўваць S3 Browser - http://s3browser.com для загрузкі файлаў, такіх як выявы, сцэнарыі і г.д., на Amazon S3. Павінен быць інструмент.

    І дзякуй за карысны допіс!

  7. 14

    Amazon S3 - гэта неверагодна паважаная паслуга. Я толькі ў працэсе інтэграцыі яго ў CMS. Адзіная праблема, з якой я сутыкнуўся з пункту гледжання распрацоўкі, а не з пункту гледжання службы Amazon, заключаецца ў тым, што калі вы хочаце, каб ваш карыстальнік празрыста загрузіў файл непасрэдна на S3 праз POST, і ў вас ёсць шматчасткавая форма, якая ўключае тэкст, прызначаны для вашага мясцовага база дадзеных, вы затрымаліся. Вам альбо трэба падзяліць яго на дзве формы, альбо паспрабаваць спачатку загрузіць файл з дапамогай ajax, пасля чаго пасля поспеху адправіць дадзеныя лакальна.

    Калі хтосьці мае лепшае рашэнне, не саромейцеся паведамляць мне: o)

    Тым не менш, эканомія выдаткаў на размяшчэнне вялікіх файлаў з вялікім трафікам патрабуе развіцця такой сістэмы.

    грант

    Сістэмы кіравання спісамі падаўлення

  8. 15

    прывітанне,

    Выдатна пішуць. Я перайшоў, як вы апісваеце, але ў маёй адміністрацыйнай панэлі, куды я загружаю выявы, я не бачу кнопкі S3. Я заўважыў, што пры загрузцы мае выявы звычайна трапляюць на Amazon, ці азначае гэта, што я магу зараз скапіраваць усе свае існуючыя выявы і выдаліць тыя, што ёсць на серверы?

    І ці трэба мне мадыфікаваць, адкуль бяруцца мае выявы, ці гэта робіць убудова?

  9. 16

    Прывітанне Скот,

    Вы павінны ўбачыць маленькі значок, які шукае базу дадзеных, справа ад вашага тыповага значка. Гэта значок, які выскачыць на акне Amazon. Я перамясціў увесь wp-кантэнт / загрузкі на Amazon і пераканаўся, што ў мяне адзін і той жа шлях ... адзіная розніца заключаецца ў паддамене. Яны былі ў http://www... і зараз яны знаходзяцца на images.marketingtechblog.com. Пасля таго, як я скапіраваў усе выявы на Amazon, я выкарыстаў PHPMyAdmin і зрабіў пошук і замену src = ”http://martech.zone і замяніў яго на src =” images.marketingtechblog.com. (https://martech.zone/wordpress/mysql-search-replace/)

    Спадзяюся, што гэта дапаможа! Гэта не бясшвоўна, але працуе.

    Doug

  10. 17

    Эй, Дуглас, дзякуй за гэта, я абнавіў БД, так што ўсе выявы паказваюць на выявы.

    Вось гэты сайт (www.gamefreaks.co.nz) - а, акрамя таго, маючы сур'ёзную праблему з памяццю на першай старонцы, пачаўся толькі пасля таго, як мы перавялі хостынг, таму я зараз разглядаю разгрузку часткі ціску хостынгу на S3. 😎

  11. 18
  12. 19
  13. 20

    Прывітанне Джо,

    Вялікі пост!

    Ці мае гэты плагін WordPress "той, пра які вы згадалі"

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

    Працаваць з апошняй версіяй WordPress?

    Было б вельмі цікава даведацца, ці сумяшчальны ён, таму што я не думаю, што ён быў абноўлены некаторы час. Ацаніце дапамогу

    • 21

      Ён сумяшчальны з апошняй версіяй, але мне шчыра не падабаецца, як гэта працуе - вам трэба перанесці і загрузіць усе выявы ў S3 іншым працэсам. Мы можам стварыць больш надзейную інтэграцыю CDN (Network Delivery Network) з WP, якая сінхранізуе, а не патрабуе іншага працэсу.

  14. 22
  15. 23

    Ці ведаеце вы, ці працуе гэта і з "знешнімі сегментамі"? Я хачу наладзіць гэта для блога майго сябра і дазволіць яму выкарыстоўваць вядро ў маім уліковым запісе AWS (я ўжо стварыў для яго ўліковы запіс карыстальніка і даў яму доступ да аднаго са сваіх сегментаў з дапамогай інструментаў Amazon IAM).

  16. 24
  17. 25
    • 26

      Сэлія, ідзі дадому да AWS http://aws.amazon.com/ і ў выпадальным меню "Мой уліковы запіс / кансоль" выберыце "Уліковыя дадзеныя бяспекі". Увайдзіце, калі вам трэба. Адтуль пракруціце ўніз да ўліковых дадзеных, і вы ўбачыце ідэнтыфікатары ключоў доступу ў спісе. Скапіруйце адзін з ідэнтыфікатараў ключа для гэтага ўбудовы, а затым націсніце спасылку «Паказаць», каб убачыць больш доўгі сакрэтны ключ доступу. Скапіруйце і ўстаўце ў налады ўбудовы. Вы павінны быць гатовы пасля гэтага!

  18. 27
  19. 28

Што вы думаеце?

Гэты сайт выкарыстоўвае Akismet для барацьбы са спамам. Даведайцеся, як дадзеныя апрацоўваюцца каментар.