Implementering van Amazon S3 vir WordPress-blogs

amazon s3 wordpress

let wel: Sedert ons dit geskryf het, het ons sedertdien na vliegwiel met 'n Inhoud lewer Netwerk aangedryf deur StackPath CDN, 'n baie vinniger CDN as Amazon.378

Tensy u 'n premie-onderneming-hostingplatform het, is dit moeilik om bedryfsprestasies te behaal met 'n CMS soos WordPress. Vragdeling, rugsteun, oortolligheid, replikasie en aflewering van inhoud is nie goedkoop nie.

Baie IT-verteenwoordigers sien platforms soos WordPress en gebruik dit omdat dit is vry. Gratis is egter relatief. Sit WordPress op 'n tipiese hostinginfrastruktuur en 'n paar honderd gelyktydige gebruikers kan u werf tot stilstand bring. Hierdie week het ek my installasie van WordPress aangepas om al die grafika van Amazon S3 (Amazon Simple Storage Service) te verbeter. Dit laat my bediener eenvoudig HTML via PHP / MySQL.

Amazon S3 bied 'n eenvoudige webdienstedienskoppelvlak wat gebruik kan word om enige hoeveelheid data op enige tyd en oral op die internet op te slaan en op te haal. Dit gee elke ontwikkelaar toegang tot dieselfde hoogs skaalbare, betroubare, vinnige, goedkoop data-stoorinfrastruktuur wat Amazon gebruik om sy eie wêreldwye netwerk van webwerwe te bedryf. Die diens het ten doel om die skaalvoordele te maksimeer en om die voordele aan ontwikkelaars deur te gee.

Om die webwerf vir Amazon S3 te omskep, het 'n bietjie werk gekos, maar hier is die basiese beginsels:

  1. Teken vir Amazon Web Services.
  2. Laai die Firefox-byvoeging vir S3. Dit bied u 'n uitstekende koppelvlak vir die bestuur van inhoud in S3.
  3. Voeg 'n emmer, in hierdie geval het ek bygevoeg www.martech.zone.
  4. Voeg 'n CNAME by u domeinregistrateur om 'n subdomein vanaf u webwerf na Amazon S3 te wys vir virtuele hosting.
  5. Laai en installeer die WordPress-invoegtoepassing vir Amazon S3.
  6. Stel u AWS-toegangsleutel-ID en geheime sleutel in en klik op opdatering.
  7. Kies die subdomein / emmer wat u hierbo geskep het vir die Gebruik hierdie emmer instelling.

wp-amazon-s3-settings.png

Die volgende stappe was die lekker deel! Ek wou nie net toekomstige inhoud van S3 bedien nie, maar ek wou alle inhoud, insluitend advertensies, temas en vorige medialêers, bedien.

  1. Ek het vouers vir advertensies, temas, en oplaai in my emmer op S3.
  2. Ek het al my huidige inhoud (beeld- en medialêers) in die toepaslike vouers gerugsteun.
  3. Ek het my CSS-lêer in my tema verander om alle beelde van te haal www.martech.zone/themes.
  4. Ek het 'n MySQL soek en vervang en elke verwysing na media-inhoud wat vertoon moet word vanaf die S3-subdomein, opgedateer.
  5. Ek het alle beeldverwysings vir advertensies wat in die advertensie-lêergids op die S3-subdomein vertoon word, opgedateer.

Van nou af moet ek eenvoudig media na S3 oplaai eerder as om die standaard beeldoplaai-dialoog vir WordPress te gebruik. Die invoegtoepassing doen 'n fantastiese taak om 'n S3-ikoon op dieselfde plek as die Upload / Insert-ikone in die WordPress-admin te plaas.

As u al die data skuif en nou vir 'n paar dae op S3 gebruik, het dit S0.12-koste van $ 3 opgelewer, so ek is nie bekommerd oor die fooie nie - miskien kos dit 'n paar dollar per maand. Aan die positiewe kant, as ek 'n klomp besoekers kry, sal ek baie meer kan hanteer as wat die huidige platform hanteer. My webwerf laai die tuisblad ongeveer 40% van die tyd voorheen, so ek is baie gelukkig met die skuif!

Die lekkerste van hierdie stap is dat dit eintlik geen ontwikkeling nodig het nie!

28 Comments

  1. 1

    Hi,

    Ek het 'n Amazon S3-rekening, maar nadat ek dit probeer uitvind het, het ek dit net gelos omdat dit te moeilik is. Maak die Firefox-toevoeging vir S3 dit baie makliker?

  2. 3

    Ek moet byvoeg, u moet u CNAME op die nuwe wys jou_unieke_voorkant_distribusienaam.cloudfront.net in plaas van om jou_unieke_subdomein.s3.amazonaws.com. Maar daarna behandel jy dit net soos 'n gewone S3-emmer.

    Dit kos meer as u die CloudFront-opsie met 'n hoër spoed / lae latensie gebruik. As u besluit om liewer na die standaard S3-weergawe terug te skakel, skakel dan net u CNAME om eerder na s3.amazonaws.com te wys.

    Ongeveer 'n jaar gelede het ek geskryfhttp://www.carltonbale.com/tag/amazon-s3/"a paar blogposte op Amaon S3 vir belangstellendes.

  3. 4

    As u op soek is na nog meer spoedverhoging, verander u Amazon S3 Bucket in 'n Amazon CloudFront-emmer, wat 'n ware globale multi-bediener-inhoudverspreidingsnetwerk met lae latensie skep. Hier is 'n skakel met al die besonderhede: http://aws.amazon.com/cloudfront/faqs/

    Die wp-supercache-inprop kan ook geweldige spoedverhogings op webwerwe met baie verkeer gee, aangesien dit die CPU-laai en databasisoproepe aansienlik verminder.

    • 5

      Baie cool, Carlton! Dit is dus baie 'n verspreide netwerk soos Akamai. Ek het nie besef dat hulle dit beskikbaar het nie! Ek kan voordeel trek nadat ek van die koste gesien het.

      Ek het al voorheen cache met wp geaktiveer, maar ek het 'n dinamiese inhoud, dus het ek regtig gesukkel daarmee, omdat dit soms inhoud sou instoor wat ek eintlik intyds wou laai.

      • 6

        Douglas,

        Uit hul beskrywing klink dit asof Amazon iets heeltemal anders doen, sê hulle:

        'Amazon CloudFront gebruik 14 randlokasies in groot markte wêreldwyd. Agt is in die Verenigde State (Ashburn, VA; Dallas / Fort Worth, TX; Los Angeles, CA; Miami, FL; Newark, NJ; Palo Alto, CA; Seattle, WA; St. Louis, MO). Vier is in Europa (Amsterdam; Dublin; Frankfurt; Londen). Twee is in Asië (Hongkong, Tokio). ”

        Hulle maak basies gebruik van internet-uitruilings om hul nabyheid aan die eindgebruiker te benut, aangesien CDN's soos Akamai bedieners baie nader aan die eindgebruiker het, gewoonlik binne die ISP-netwerk.

        Amazones se manier om dit te doen is baie goedkoper en effektiewer Akamai.

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

  4. 7

    Ek sou nie sê dat dit moeilik is om '' prestasie te behaal met 'n CMS soos WordPress nie. '

    Dit is alles hoe u u infrastruktuur instel of die manier waarop u u CMS aanbied.
    Die manier waarop die CMS self gekodeer is, kan ook 'n groot rol speel in sy prestasie, soos Carlton opgemerk het met die gebruik van die wp-supercache-inprop.

    Dit sou beter gewees het as die funksie van die wp-supercache-invoegtoepassing vanaf die begin ingebou is vir wordpress - maar dit vereis dat u die voorkant moet skryf. Wat is wat lightpress.org gedoen het.

    Om statiese inhoud na iets soos S3 te laai, is 'n goeie manier om verwerking en aflewering vanaf die hoofbediener af te laai. Dit is 'n maklike en maklike manier om Amazons-infrastruktuur aan te wend om swaar te werk, maar sodra u 'n cretinedrempel bereik, sal Amazon duur word, en dit sal goedkoper wees om dit self te doen en saam met 'n CDN te gaan.

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

    PS
    Ek het 'n bietjie daaraan gedink, as net 100 mense bymekaarkom en elke maand die prys bydra van 'n ordentlike bediener waarvoor hulle normaalweg sou betaal, kan hulle hostinginfrastruktuur bou / saamstel wat byna alles kan hanteer.

  5. 8

    $ 0.12 vir die eerste paar dae van S3-dienste. Sou u die onderwerp binne 'n paar maande weer besoek en statistieke van verkeer teenoor koste toon? Dit sal interessant wees om te sien hoe die koste vir unieke besoekers uiteengesit word en teen advertensiekoste of ander insette.

  6. 13
  7. 14

    Amazon S3 is 'n ongelooflike gewaardeerde diens. Ek is net besig om dit in 'n CMS te integreer. Die enigste probleem wat ek teëgekom het vanuit 'n ontwikkelingsperspektief, nie 'n Amazon-diensperspektief nie, is dat as u wil hê dat u gebruiker die lêer deursigtig via POST na S3 moet oplaai, en u 'n veelvoudige vorm bevat wat teks bevat wat bestem is vir u plaaslike databasis, jy sit vas. U moet dit in twee vorms skei, of u moet ajax gebruik om die lêer eers op te laai en dan die data plaaslik in te dien.

    Laat weet my gerus as iemand 'n beter oplossing het: o)

    Die kostebesparings vir die aanbied van groot lêers met 'n hoë verkeer regverdig egter die ontwikkeling van so 'n stelsel.

    Verleen

    Onderdrukkingslysbestuurstelsels

  8. 15

    Hi,

    Groot skryf. Ek het deurgegaan soos u beskryf, maar in my adminpaneel waar ek beelde oplaai, sien ek nie 'n S3-knoppie nie. Ek het opgemerk dat my beelde, wanneer hulle normaalweg op Amazon beland, beteken dat ek nou al my bestaande beelde kan kopieer en die foto's op die bediener kan verwyder?

    En moet ek verander waar my beelde vandaan kom, of doen die inprop dit?

  9. 16

    Hallo Scott,

    U moet 'n klein ikoon aan die regterkant van u tipiese ikoon sien. Dit is die ikoon om die Amazon-venster te laat verskyn. Ek het al die wp-inhoud / uploads na Amazon geskuif en seker gemaak dat ek dieselfde pad het ... die enigste verskil is die subdomein. Hulle was by http://www... en nou is hulle by images.marketingtechblog.com. Nadat ek al die beelde na Amazon gekopieer het, het ek PHPMyAdmin gebruik en 'n soektog gedoen en vervang vir src = ”http://martech.zone en dit vervang deur src =” images.marketingtechblog.com. (https://martech.zone/wordpress/mysql-search-replace/)

    Hoop dit help! Dit is nie soomloos nie, maar dit werk.

    Doug

  10. 17

    Haai Douglas, dankie daarvoor, ek het die DB opgedateer sodat alle beelde na beelde wys., Maar ek sien sommige duime (as daar na die bladsy-inligting gekyk word) wys die beeld nog op www.

    Hier is die webwerf (www.gamefreaks.co.nz) - alhoewel 'n groot geheue-probleem vir die voorblad plaasgevind het, het dit eers begin toe ons die hosting verskuif het, daarom kyk ek nou na die aflaai van 'n deel van die hostingdruk na S3. 😎

  11. 18

    weet u of dit moontlik is om net na S3 op te laai sonder om 'n kopie op die plaaslike bediener te stoor?

    tnx

  12. 19

    Hallo Scott, die S3-inprop bied sy eie pad direk na Amazon, sodat die lêer NIE plaaslik gestoor word nie.

  13. 20
    • 21

      Dit is verenigbaar met die nuutste weergawe, maar ek hou nie van die manier waarop dit werk nie - u moet alle beelde na S3 skuif en laai met 'n ander proses. Ons bou dalk 'n meer robuuste CDN (Content Delivery Network) integrasie met WP op wat synchroniseer eerder as om 'n ander proses te eis.

  14. 22
  15. 23

    Weet jy of dit ook met "Eksterne emmers" werk? Ek wil dit opstel vir 'n blog van 'n vriend van my en hom 'n emmer in my AWS-rekening laat gebruik (ek het al 'n gebruikersrekening vir hom geskep en hom toegang gegee tot een van my emmers met behulp van die Amazon IAM-gereedskap).

  16. 24
  17. 25
    • 26

      Celia, gaan na die AWS-huis http://aws.amazon.com/ en onder die "My Account / Console" drop-down kies "Security Credentials". Meld aan as dit nodig is. Blaai van daar af na toegangsbewyse en u sal die toegangsleutel-ID's sien. Kopieer een daarvan vir die sleutel-ID vir hierdie inprop, en klik dan op die skakel "Wys" om die langer geheime toegangsleutel te sien. Kopieer dit en plak dit ook in die plugin-instellings. U moet daarna gereed wees!

  18. 27
  19. 28

Wat dink jy?

Hierdie webwerf gebruik Akismet om spam te verminder. Leer hoe jou opmerking verwerk is.