Implementácia Amazonu S3 pre blogy WordPress

amazon s3 wordpress

Poznámka: Od napísania tohto článku sme odvtedy migrovali na server zotrvačník s Content Delivery Network používa technológiu StackPath CDN, oveľa rýchlejšie CDN ako Amazon.378

Pokiaľ nie ste na prémiovej podnikovej hostiteľskej platforme, je ťažké dosiahnuť podnikový výkon s podobným CMS WordPress. Zdieľanie záťaže, zálohovanie, redundancia, replikácia a doručovanie obsahu nie sú lacné.

Mnoho zástupcov IT prezerá platformy ako WordPress a používa ich, pretože sú zadarmo. Zadarmo je však relatívne. Dajte WordPress na typickú hostiteľskú infraštruktúru a niekoľko stoviek súčasných používateľov môže váš web zastaviť. S cieľom pomôcť pri výkone môjho blogu som tento týždeň upravil inštaláciu WordPressu a tlačil všetku grafiku z Amazonu S3 (Amazon Simple Storage Service). To ponecháva môj server na jednoduché tlačenie HTML cez PHP / MySQL.

Amazon S3 poskytuje jednoduché rozhranie webových služieb, ktoré možno použiť na ukladanie a načítanie ľubovoľného množstva údajov, kedykoľvek a odkiaľkoľvek na webe. Poskytuje vývojárom prístup k rovnakej vysoko škálovateľnej, spoľahlivej, rýchlej a lacnej infraštruktúre na ukladanie dát, ktorú Amazon používa na prevádzkovanie svojej vlastnej globálnej siete webových stránok. Cieľom služby je maximalizovať výhody rozsahu a preniesť ich na vývojárov.

Konverzia stránky pre Amazon S3 si vyžadovala trochu práce, ale tu sú základné:

  1. Zaregistrujte sa Amazon Web Services.
  2. Načítajte doplnok Firefox pre S3. To vám poskytuje skvelé rozhranie pre správu obsahu v S3.
  3. Pridať vedro, v tomto prípade som pridal www.martech.zone.
  4. Pridajte CNAME do svojho registrátora domén, aby ste nasmerovali subdoménu z vášho webu na Amazon S3 pre virtuálny hosting.
  5. Stiahnite a nainštalujte si doplnok WordPress pre Amazon S3.
  6. Nastavte svoje ID prístupu a tajný kľúč AWS a kliknite na aktualizáciu.
  7. Vyberte subdoménu / segment, ktorý ste vytvorili vyššie pre Použite toto vedro nastavenie.

wp-amazon-s3-settings.png

Ďalším krokom bola zábavná časť! Nechcel som slúžiť iba budúci obsah zo S3, chcel som slúžiť všetok obsah vrátane reklám, tém a minulých mediálnych súborov.

  1. Vytvoril som priečinky pre reklamy, témya Nahrávanie v mojom vedre na S3.
  2. Zálohoval som všetok môj aktuálny obsah (obrazové a mediálne súbory) do príslušných priečinkov.
  3. Upravil som svoj súbor CSS v mojej téme tak, aby z neho vyťahoval všetky obrázky www.martech.zone/themes.
  4. Urobil som a MySQL vyhľadať a nahradiť a aktualizoval každý odkaz na mediálny obsah, ktorý sa má zobraziť zo subdomény S3.
  5. Aktualizoval som všetky obrázkové referencie pre reklamy, ktoré sa majú zobrazovať, z priečinka ads v subdoméne S3.

Od tejto chvíle jednoducho potrebujem nahrať médiá na S3, a nie používať predvolený dialóg na nahrávanie obrázkov pre WordPress. Plugin robí skvelú prácu pri umiestňovaní ikony S3 na rovnaké miesto ikon nahrávania / vkladania v administrátorovi WordPress.

Presunutie všetkých dát a prevádzka na S3 už pár dní vyústili do poplatkov S0.12 za 3 USD, takže sa obávam, že s tým spojené poplatky nebudem - asi to bude stáť pár dolárov mesačne. Pozitívne je, že ak dostanem tonu návštevníkov, mal by som zvládnuť oveľa viac, ako súčasné úchytky platformy. Moja stránka načítava domovskú stránku asi o 40% času, ktorý býval, takže s presunom som celkom spokojný!

Najkrajšie na tomto ťahu je, že si vlastne nevyžadoval žiadny vývoj!

28 Komentáre

  1. 1

    Ahoj,

    Mám účet Amazon S3, ale potom, čo som sa snažil prísť na to, jednoducho som ho opustil, pretože je to príliš ťažké. Robí doplnok firefox pre S3 oveľa jednoduchšie?

  2. 3

    Mal by som dodať, budete musieť nasmerovať svoj CNAME na nový your_unique_cloudfront_distribution_name.cloudfront.net namiesto do vaša_unikátna_doména.s3.amazonaws.com. Ale potom s tým zaobchádzaš ako s obyčajným vedrom S3.

    Pri použití možnosti CloudFront s vyššou rýchlosťou a nízkou latenciou to stojí viac. Ak sa rozhodnete radšej prepnúť späť na štandardnú verziu S3, jednoducho prepnite CNAME tak, aby smeroval späť na s3.amazonaws.com.

    Asi pred rokom som písalhttp://www.carltonbale.com/tag/amazon-s3/"a niekoľko blogových príspevkov na serveri Amaon S3 pre všetkých, ktorí majú záujem.

  3. 4

    Ak hľadáte ešte väčšie zvýšenie rýchlosti, urobte zo svojho segmentu Amazon S3 Bucket segment Amazon CloudFront, ktorý vytvára skutočnú globálnu sieťovú distribučnú sieť s nízkou latenciou pre viac serverov. Tu odkaz so všetkými podrobnosťami: http://aws.amazon.com/cloudfront/faqs/

    Plugin wp-supercache tiež môže spôsobiť obrovské zvýšenie rýchlosti na stránkach s vysokou premávkou, pretože výrazne znižuje zaťaženie procesora a volania do databázy.

    • 5

      Veľmi cool, Carlton! Je to teda veľmi distribuovaná sieť ako napr Akamai. Neuvedomil som si, že to majú k dispozícii! Po zhliadnutí niektorých nákladov môžem využiť výhodu.

      Predtým som mal ukladanie do vyrovnávacej pamäte s povoleným wp, ale mám nejaký dynamický obsah, takže som s tým skutočne bojoval, pretože by niekedy ukladal obsah do medzipamäte, ktorý som chcel načítať v reálnom čase.

      • 6

        Douglas

        Podľa ich popisu to znie, akoby Amazon robil niečo úplne iné, hovoria:

        „Amazon CloudFront využíva 14 okrajových miest na významných trhoch po celom svete. Osem je v Spojených štátoch (Ashburn, VA; Dallas / Fort Worth, TX; Los Angeles, CA; Miami, FL; Newark, NJ; Palo Alto, CA; Seattle, WA; St. Louis, MO). Štyri sú v Európe (Amsterdam; Dublin; Frankfurt; Londýn). Dve sú v Ázii (Hongkong, Tokio). “

        V zásade využívajú výhody internetových búrz s cieľom využiť svoju blízkosť ku koncovému používateľovi, kde majú servery CDN ako Akamai servery oveľa bližšie ku koncovému používateľovi, zvyčajne v rámci siete ISP.

        Amazonským spôsobom, ako to urobiť, je oveľa lacnejší a efektívnejší Akamai.

        Rogerio - http://www.itjuju.com/

  4. 7

    Nepovedal by som, že je ťažké „dosiahnuť výkon podniku pomocou CMS, ako je WordPress.“

    Všetko je v tom, ako nastavujete svoju infraštruktúru alebo ako hostujete svoj CMS.
    Spôsob, akým bol kódovaný samotný CMS, môže tiež zohrať veľkú úlohu pri jeho výkone, ako zdôraznil Carlton pomocou pluginu wp-supercache.

    Bolo by lepšie, keby bola funkčnosť pluginu wp-supercache zabudovaná do wordpressu od začiatku - vyžadovalo by to však opätovné napísanie frontendu. Čo je čo lightpress.org urobil.

    Načítanie statického obsahu na niečo ako S3 je dobrý spôsob, ako odľahčiť spracovanie a doručenie z hlavného servera. Je to ľahký a pohodlný spôsob, ako sa zapojiť do infraštruktúry Amazónov, aby ste vykonali ťažké zdvíhanie, ale akonáhle dosiahnete kretínový prah, Amazon začne byť drahý a bude to lacnejšie urobiť to doma a ísť s CDN.

    Rogerio - http://www.itjuju.com/

    ps
    Trochu som premýšľal o tejto situácii, ak by sa dalo dohromady iba 100 ľudí a každý mesiac by prispeli cenou slušného servera, za ktorý by normálne platili, mohli by postaviť / zostaviť hostiteľskú infraštruktúru, ktorá by dokázala zvládnuť takmer čokoľvek.

  5. 8

    0.12 USD za prvých pár dní služieb S3. Znovu by ste sa k téme vrátili za pár mesiacov a ukázali by ste nejaké štatistiky premávky a nákladov? Bolo by zaujímavé sledovať, ako sa náklady rozkladajú na jedinečných návštevníkov a na rozdiel od nákladov na reklamu alebo iných vstupov.

  6. 13
  7. 14

    Amazon S3 je neuveriteľne dobre hodnotená služba. Som práve v procese integrácie do CMS. Jediným problémom, s ktorým som sa stretol z pohľadu vývoja, nie z pohľadu služby Amazon, je, že ak chcete, aby váš užívateľ transparentne nahral súbor priamo do S3 prostredníctvom POST a máte viacdielny formulár, ktorý obsahuje text určený pre vaše miestne databázy, ste zaseknutí. Buď ho musíte rozdeliť do dvoch foriem, alebo najskôr pomocou súboru Ajax nahrať súbor a potom po úspešnom odoslaní údajov lokálne.

    Ak má niekto lepšie riešenie, pokojne mi dajte vedieť: o)

    Úspora nákladov na hosťovanie veľkých súborov s vysokou prenosovou rýchlosťou napriek tomu zaručuje vývoj takého systému.

    Grant

    Systémy riadenia potlačenia zoznamu

  8. 15

    Ahoj,

    Skvelé napísať. Prešiel som, ako popisujete, ale na mojom paneli správ, kde nahrávam obrázky, nevidím tlačidlo S3. Všimol som si, že keď sa moje obrázky normálne nahrajú na Amazon, znamená to, že teraz môžem skopírovať všetky moje existujúce obrázky a odstrániť ich na serveri?

    A musím upraviť, odkiaľ moje obrázky pochádzajú, alebo to robí doplnok?

  9. 16

    Ahoj Scott,

    Napravo od svojej typickej ikony by ste mali vidieť malú ikonu databázy. To je ikona na otvorenie okna Amazon. Presunul som všetok obsah / upload wp do Amazonu a uistil som sa, že mám rovnakú cestu ... jediným rozdielom je subdoména. Boli na http://www... a teraz sú na images.marketingtechblog.com. Po skopírovaní všetkých obrázkov na Amazon som použil PHPMyAdmin, vyhľadal a nahradil src = ”http://martech.zone a nahradil ho src =” images.marketingtechblog.com. (https://martech.zone/wordpress/mysql-search-replace/)

    Dúfam, že to pomôže! Nie je to bezproblémové, ale funguje to.

    Doug

  10. 17

    Ahoj Douglas, ďakujem za to, aktualizoval som databázu, takže všetky obrázky smerujú na obrázky., Ale vidím, že niektoré z palcov (pri pohľade na stránku cez info) ukazujú iamge stále na www.

    Tu je web (www.gamefreaks.co.nz) - a, ktorý má pre hlavnú stránku nejaký zásadný problém s pamäťou, začal sa až potom, čo sme presunuli hostenie, a preto sa teraz pozerám na vyloženie časti tlaku na hosting na S3. 😎

  11. 18
  12. 19
  13. 20
    • 21

      Je kompatibilný s najnovšou verziou, ale úprimne sa mi nepáči, ako to funguje - musíte presunúť a načítať všetky obrázky na S3 iným procesom. Môžeme skutočne vytvoriť robustnejšiu integráciu CDN (Content Delivery Network) s WP, ktorá skôr synchronizuje než vyžaduje iný proces.

  14. 22
  15. 23

    Viete, či to funguje aj v prípade „externých segmentov“? Chcem to nastaviť pre blog môjho priateľa a nechať ho, aby vo svojom účte AWS použil vedro (už som mu vytvoril používateľský účet a umožnil mu prístup k jednému z mojich vedier pomocou nástrojov Amazon IAM).

  16. 24
  17. 25
    • 26

      Celia, choď domov na AWS http://aws.amazon.com/ a v rozbaľovacej ponuke „Môj účet / konzola“ vyberte možnosť „Zabezpečovacie údaje“. Ak potrebujete, prihláste sa. Odtiaľ prejdite nadol na položku Prístupové poverenia a uvidíte vaše ID prístupových kľúčov. Skopírujte jeden z týchto identifikátorov kľúča pre tento doplnok a potom kliknite na odkaz „Zobraziť“, aby ste videli dlhší tajný prístupový kľúč. Skopírujte to a prilepte tiež do nastavení doplnku. Potom by ste mali byť pripravení!

  18. 27
  19. 28

Čo si myslíte?

Táto stránka používa Akismet na zníženie spamu. Zistite, ako sa spracúvajú údaje vašich komentárov.