CLOUD HACK: Kuidas saada tootmine valmis TASUTA staatiline veebisaidi hostimine

See artikkel tutvustab teile kõike, mida peate tegema oma staatilise veebisaidi majutamiseks ja tootmise ettevalmistamiseks.

See toetab hullumeelset liiklust ega maksa teile midagi!

Koos lohistame DNS-i kirjete ja mõne muu madala taseme kraamiga, kuid see on lihtsam kui kõlab - ja on seda väärt.

Ma ei suutnud välja mõelda viisi, kuidas tasuta domeeninime hankida, seega peaksin tõelise läbipaistvuse vaimus ütlema, et peate selle eest maksma.

Sissejuhatus

Peame Google'i ja CloudFlare'i enda jaoks tõsiseks tõstmiseks tegema, nii et peame lihtsalt veebisaidi üles ehitama ja kõik seadistama.

Selles artiklis teeme järgmist:

  • Seadistage Google App Engine'i projekt
  • Juurutage veebisait pilve
  • Hankige oma domeeninimi
  • Seadistage CloudFlare abil oma domeeninimi
  • Vaadake DNS-i sätetega ringi, et suunata domeen meie veebisaidile
  • Seadistage vahemällu salvestamine ja HTTPS domeenis, et toetada ulatuslikku ulatust

See kõlab kõvasti, eriti kui te pole nende tingimustega harjunud, kuid kõnnime kõik sammud koos.

Kaaluge selle jagamist sotsiaalmeedias teistele, kellele see võib kasulikuks osutada, või saatke link kõigile, keda teate, kes maksavad staatilise veebisaidi majutamise eest.

Mis on Google App Engine?

Google App Engine on Google'i teenus, mis võimaldab teil luua ja hostida keerulisi veebirakendusi, mis töötavad ülikõrgetel skaaladel. Saate suhelda sadade API-dega, et lahendada igasuguseid tehnilisi väljakutseid, näiteks andmete salvestamine, päringute käitamine, järjekorda seadmine, masinõppe võimaluste pakkumine, e-kirjade saatmine ... oh jah ja HTML-i ja CSS-i teenindamine.

Google App Engine'is olev tasuta kvoot tähendab, et teie veebisait saab vastu võtta teatud hulga liiklust enne, kui peate selle eest maksma hakkama; kuid tegelikult ei lähe me tänu CloudFlare'ile selle lähedusse.

Mis on CloudFlare?

CloudFlare'i on üsna raske kirjeldada, kuid meie eesmärkidel võite mõelda sellele kui vinge (ja tasuta) sisu vahemällu salvestamise võimalusele, kus CloudFlare'i serverid hoiavad teie veebisaidi koopiat ja pakuvad seda otse teie külastajatele. Väärib märkimist, et CloudFlare salvestab palju sisu koopiaid võtmekohtades üle kogu maailma, nii et külastajate veebibrauserid ei pea selle saamiseks Internetti jõudma.

Veebisaitide jaoks, mida sageli ei muudeta, saate vahemälureeglid seada üsna agressiivseteks - nii et teie Google App Engine'i projekt saab vaevalt palju taotlusi. Kui värskendate oma saiti, peate lihtsalt ootama vahemälu aegumist või selle käsitsi tühjendama (selgitan hiljem).

1. SAMM: looge oma veebisait

Esimene asi, mida teha, on oma veebisaidi loomine. Tehke seda mis tahes tööriistade abil, millega olete harjunud, eesmärk on lõpuks luua kaust, mis sisaldab kogu teie veebisaiti. See ei tohi sisaldada dünaamilist sisu, nii et CGI skriptid, .aspx-lehed, Ruby on Rails-kood jne on kõik tabelist väljas. Staatilised veebisaidid on tavaliselt ainult HTML, CSS, JavaScripti failid, pildid jne.

Veenduge, et sellel oleks index.html leht

Kui külastajad jõuavad teie domeeninimele ilma teekonnata, kuvatakse leht index.html, nii et veenduge, et see on olemas.

Pange kõik www-kausta

Lisame kausta oma staatilise veebisaidi jaoks, et meie projekti ülesehitus näeks välja järgmine:

Pange kogu veebisait www-kausta

Ärge muretsege hiljem selle rakenduse.yaml faili pärast; lisame selle varsti.

Võite mõelda kausta www kui ka seda, mida pakutakse, kui teie külastajad lähevad saidile mywebsite.com.

2. SAMM: juurutage Google App Engine'i

Kui teil on oma veebisait, on aeg see Google App Engine'i juurutada.

Logige sisse Google'i pilvplatvormi konsooli

Minge saidile https://console.cloud.google.com ja logige sisse oma Google'i kontoga.

Looge projekt

Valige menüüst Loo projekt ja valige sobiv projekti nimi, mis kajastaks teie domeeninime. Nii et kui teie domeen on matswebsite.com, nimetage seda projekti võib-olla Matsi veebisaidiks. See genereerib teile automaatselt projekti ID, kuid võite selle muutmiseks klõpsata väikest linki Redigeerimine ja valida oma. Kasutame seda projekti ID hiljem, nii et oleks tore ja lihtne meelde jätta. Projekti ID peab olema ülemaailmselt ainulaadne, mistõttu pole teie domeeni kasutamine halb idee, nt matswebsitecom.

Klõpsake nuppu CREATE.

Projekti loomine Google'i pilvplatvormil

Mõne aja pärast luuakse projekt ja saame lubada Google App Engine.

Avage menüü (klõpsake vasakus ülanurgas oleval kolmel real) ja valige App Engine'i konsoolile pääsemiseks App Engine.

Installige Google Cloud SDK

Minge aadressile https://cloud.google.com/sdk/ ja laadige oma arvutis alla Google Cloud SDK. SDK sisaldab käsurea tööriistu, mida saame kasutada teie veebisaidi juurutamiseks.

Lisage rakendus.yaml-fail

Google App Engine'ile teatamiseks, kuidas me sooviksime, et meie saiti juurutatakse, peame oma veebisaidi juurkausta looma väikese konfiguratsioonifaili.

Lisage uude faili järgmine tekst:

käitusaeg: mine
api_versioon: go1
käitlejad:
- URL: /
  static_files: www / index.html
  üleslaadimine: www / index.html
- URL: /(.*)
  staatilised_failid: www / \ 1
  üleslaadimine: www /(.*)

YAML-failides on tühik oluline, nii et veenduge, et enne static_files ja üleslaadimisjooni oleks kaks tühikut.

App.yaml-faili kohta saate lisateavet, lugedes dokumentatsiooni, nüüd piisab, kui teada, et pakume staatiliselt sisu www-kaustast.

Lisage main.go fail

Selleks, et meie projekt oleks kehtiv Go-projekt, peame lisama mõne Go-koodi. Ärge muretsege, ma annan teile vajaliku minimaalse koodi.

Looge oma kausta fail (koos rakenduse.yaml failiga) nimega main.go ja sisestage järgmine kood:

paketirakendus
func main () {}
Kui te pole varem Go-st kuulnud, soovitan tungivalt seda uurida - see on lõbus ja äärmiselt kasulik keel: miks mitte tuuri teha?

Juurutada

Kasutage terminali kestas sisselogimiseks kõigepealt käsku gcloud (Google Cloud SDK-st):

gcloud auth login
Kui te siin jänni jääte, minge abi saamiseks Quickstart'i juhendisse.

See avab veebibrauseri ja palub teil oma Google'i kontole sisse logida. Kui see on tehtud, näitab terminal, et sisselogimine õnnestus.

Nüüd sisestage CD oma veebisaidi kausta nii, et ls või dir tehes kuvatakse loendis www kaust.

Nüüd määrake projekti nimi:

gcloud config set projekti PROJECT_ID

Asendage PROJECT_ID projekti ID-ga, mille määrasite oma projekti loomisel Google'i pilvkonsoolis.

Nüüd alustame juurutamist:

rakenduse gcloud juurutamine

Kui Google Cloud SDK vajab mingeid lisakomponente (minu jaoks vajas see app-engine-go), siis palutakse teil need installida. Vastake iga küsimuse jaoks Y (jah).

Lõpuks küsib ta, kas soovite rakenduse juurutada - vajutage Y ja sisestage uuesti.

Mõne aja pärast võetakse rakendus kasutusele ja sellele pääseb juurde domeeni appspot.com kaudu:

https://PROJECT_ID.appspot.com
Ärge unustage asendada PROJECT_ID projekti ID-ga.

3. SAMM: Seadistage oma domeeninimi

Valige ja ostke domeen

Selleks, et külastajad teie veebisaiti näeksid, peavad nad külastama domeeninime - ja kuigi te võiksite kasutada rakendust appspot.com, mille Google App Engine teile tasuta annab, on palju toredam omada.

Minge üle saidile namecheap.com või otsige ettevõtet, mis müüb domeeninimesid ja ostab teie domeeni. Peate olema võimeline nimeservereid muutma, nii et veenduge, et ettevõte seda toetaks (seda teeb Namecheap).

CloudFlare'i seadistamine

Minge CloudFlare.com ja looge konto. Seejärel valige ülaosas menüüribalt Lisa sait. Sisestage oma domeen ja klõpsake nuppu Alusta skannimist. Kui see on jumal teab, mis võlukunstiga tegelemine on lõpetatud, klõpsake käsku Jätka seadistamist ja järgige allesjäänud samme, klõpsates Jätka, kus saate, kuni jõuate CloudFlare'i plaani valimise lehele.

Valige TASUTA plaan ja klõpsake nuppu Jätka.

Tasuta veebisaidi kavas on kõik, mida vajame - CloudFlare on üsna helde.

Seejärel palutakse teil oma nimeservereid värskendada, nii et minge tagasi sinna, kust oma domeeninime ostsite, ja sisestage CloudFlare'i antud väärtused.

Liikluse marsruutimiseks läbi CloudFlare peame värskendama nimeservereid. CloudFlare ütleb teile, milliseid väärtusi kasutada.

Namecheapis lähete juhtpaneelile ja klõpsate oma domeeni kõrval käsul MANAGE. Seejärel otsige NAMESERVERS ja valige Kohandatud DNS. Kopeerige ja kleepige nimeserverid kahte lisatud kasti:

Namecheap võimaldab teil määrata oma nimeservereid. Ärge unustage muudatuste kinnitamiseks klõpsata väikest rohelist linnukest.

Kui olete selle lõpetanud, klõpsake CloudFlare'is nuppu Jätka ja oodake. Muudatuste jõustumine võib võtta veidi aega, nii et minge ja haarake tass teed või muud sobivat (või sobimatut) jooki.

Lõpuks läheb see roheliseks (saate värskendada nii mitu korda kui soovite):

Kui nimeserverid on värskendatud, kuvatakse teie sait CloudFlare'is.

Teatage App Engine'ile oma domeenist

Google'i pilvkonsoolis tagasi pääsete uuesti App Engine'i konsooli ja valige Seaded.

Valige vahekaardil Kohandatud domeenid Lisa kohandatud domeen.

Enne kui saate paluda Google App Engineil sisu edastada, peate kontrollima, kas teil on domeen - selleks tehke loendist valides Kinnita uus domeen ja sisestage see ette nähtud kasti.

Kui klõpsate valikul Kinnita, käivitatakse uus protsess, kus saame tõestada, et me omame ja kontrollime seda domeeninime. Valige uues aknas teenusepakkuja nimi (loodetavasti Namecheap - kuna see on lihtne) ja pange tähele, et teil palutakse lisada TXT DNS-i kirje:

Google'ile tõestamiseks, et kontrollime domeeninime, peame lisama spetsiaalse DNS-koodi, mille nad pakuvad.

Ärge muretsege - see pole nii hirmutav, kui tundub. Valige kasti sees imelik tekst, kopeerige see ja suunake tagasi CloudFlare'i ja me lisame selle väärtuse.

Veenduge, et teie domeen on CloudFlare'is valitud, ja valige vahekaart DNS.

Tabeli ülaosas on vorm, kuhu saame lisada kirje, mida Google soovib:

Sisestage väljale Nimi täht @ ja sisu jaoks kleepige väärtus, mille Google meile andis. Klõpsake nuppu Lisa kirje.

See lisatakse DNS-i kirjete loendisse.

Nüüd minge tagasi Google'i pilvplatvormi juurde ja klõpsake valikul Kinnita.

See võib võtta natuke aega - nii et ärge ärge ärrituge, kui see kohe ei tööta. Kui olete õige väärtuse CloudFlare'i kleepinud, värskendatakse seda lõpuks. Ootate tegelikult DNS-serverite levikut, mis kõlab maagilisemalt kui see on - aga kui te ei soovi oodata, võiksite kaaluda Google'i avalike DNS-serverite kasutamist, need on väga kiired.

Lõpuks saate ülaltoodud edulehe.

Tagasi Google Cloud Console'is> App Engine> Seaded> Kohandatud domeenid, klõpsake Värskenda domeene ja märkige, et teie domeen on nüüd rippmenüü loendis. Valige see ja klõpsake nuppu Jätka, seejärel klõpsake nuppu Salvesta kaardistused.

Hetke pärast klõpsake uuesti nuppu Jätka ja märkige, et Google App Engine annab meile nüüd uued DNS-i seaded. Peame kontrollima, et meie CloudFlare DNS-lehel oleksid samad väärtused.

Google soovib, et paneksime kõik need väärtused CloudFlare konsooli - natuke kopeerimist ja kleepimist ei kahjusta kunagi keegi, eks?

Vajutage CloudFlare'is tagasi kõigi DNS-kirjete (välja arvatud meie lisatud TXT) kõrval X-i (jätame selle sinna, nii et Google teab, et kontrollime seda domeeni alati).

Nüüd looge iga Google'i lehe üksuse kohta CloudFlare'is kirje. See on kõige raskem asi, mida peame tegema, lugege kõigepealt läbi need näpunäited:

  • Tüübi määramiseks rippmenüüst TXT (vajate A, AAAA ja CNAME)
  • Google App Engine'is on välja Alias ​​nimi Cloudflare. Kui varjunime pole, kasutage uuesti märki @. (Võite selle ka tühjaks jätta ja CloudFlare teab, mida te silmas peate - või palub teil see @ -iks seada)
  • Jätke TTL automaatse TTL-na
  • CloudFlare teab, mida see teeb, ja selles on raske viga teha - nii et kopeerige ja kleepige kõik väärtused ja usaldage CloudFlare, et öelda, kas te segaduses
  • Kopeerimisel ja kleepimisel olge täiendavate tühikute ees. See võib põhjustada valideerimisvea, kuid seda on raske näha

See näeb välja selline:

Klõpsake tagasi Google App Engine'is Valmis.

Andke Internetile aega järelejõudmiseks

Teie domeeni töötamiseks peab Internet nende muudatustega järele jõudma. Nende sõnul võib see võtta 24 tundi, kuid kui kasutate Google'i DNS-servereid, on see tavaliselt üsna kohene.

Ootamise ajal saate CloudFlare'is lubada agressiivse vahemälu ja HTTPS-i.

4. SAMM: vahemälu ja HTTPS-i seadistamine

Staatilise hostimise tasuta hoidmise trikk, sõltumata sellest, kui palju liiklust teile saadakse, on CloudFlare'is vahemällu lubamine.

Klõpsake vahekaarti Lehereeglid ja siis nuppu Loo lehereegel.

Sisestage URL-i vaste väljale oma domeen kujul: * .veebisaidi.com / * - see näitab, et reeglit tuleks kohaldada sõltumata alamdomeenist ja teest.

Valige seadistuses Edge Cache TTL ja määrake väärtuseks kuu. Klõpsake nuppu Salvesta ja juurutage.

Edge Cache TTL-i seadistamine kuuks põhjustab (teoreetiliselt) meie Google App Engine'i veebisaidi löömist ainult üks kord kuus. Ülejäänud aja teenib seda CloudFlare'i serva CDN. Ilmselt on see agressiivne - saate seadetega mängida, et leida teile sobivad väärtused.

Meie saidi HTTPS-i kaudu juurdepääsetavaks tegemiseks lisame veel ühe reegli:

Seekord pange URL-i vaste väärtus järgmiselt: http: //*.mywebsite.com/*

Kasutades CloudFlare'is lehereeglit, võime öelda, et ta kasutab meie veebisaidil alati HTTPS-i.

Valige loendist Kasutage alati HTTPS-i ja klõpsake nuppu Salvesta ja juuruta.

Kui soovite kogu liikluse suunata kas saidile www.mywebsite.com või mywebsite.com, võite soovi korral lisada edastamise URL-i.

Need on honorablecode.com lõplikud lehereeglid

Puhastage vahemälu igal ajal, kui soovite

Kui teete oma veebisaidil muudatusi, astuge sisse CloudFlare'i konsooli, avage vahemälu vahemälu ja valige rippmenüüst Puhasta kõik:

Teie veebisaidi uued taotlused lähevad nüüd Google App Engine'i ja uusimat versiooni pakutakse (ja CloudFlare vahemällu salvestab tulevaste taotluste jaoks).

Teie veebisait on aktiivne!

Kui DNS-serverid on järele jõudnud, on teie turvaline staatiline veebisait võrgus.

Järeldus

Kasutades lihtsalt Google App Engine'i ja CloudFlare TASUTA valikuid ja natuke DNS-i võlu, suudame võõrustada oma tootmisvalmis staatilist veebisaiti tasuta.

Me suutsime:

  • Seadistage Google App Engine'i projekt
  • Juurutage veebisait pilve
  • Hankige oma domeeninimi
  • Seadistage CloudFlare abil oma domeeninimi
  • Vaadake DNS-i sätetega ringi, et suunata domeen meie veebisaidile
  • Seadistage vahemällu salvestamine ja HTTPS domeenis, et toetada ulatuslikku ulatust

Hea töö.

Osta minu raamat

Teoreetiliselt olen just teile palju raha kokku hoidnud, nii et miks mitte öelda, et tänate mu raamatut ostes. :)

Kui teile meeldib teha asju, nagu see on selles artiklis, siis meeldib teile see, mida saate Go-ga teha. Minu raamatus Go Programming Blueprints kirjutatud raamatus ehitame me päris asju. Painutage oma dev lihaseid.

Hankige oma koopia aadressilt https://www.packtpub.com/application-development/go-programming-blueprints-second-edition

Samuti piiksuge mulle @matryer, kui te jänni jääte, ja ma näen, kas saan aidata.