CLOUD HACK: Kuinka saada tuotanto valmiiksi ILMAISEKSI staattinen verkkosivustojen hosting

Tämä artikkeli opastaa sinut läpi kaiken tarvittavan staattisen verkkosivustosi ylläpitämiseksi ja tuotannon valmistamiseksi.

Se tukee hullua liikennemäärää eikä maksa sinulle mitään!

Ymmärrämme yhdessä DNS-tietueiden ja muiden matalan tason juttujen kanssa, mutta se on helpompaa kuin miltä kuulostaa - ja on sen arvoinen.

En voinut keksiä keinoa saada ilmainen verkkotunnus, joten totta avoimuuden hengessä minun pitäisi sanoa, että joudut maksamaan siitä.

esittely

Aiomme saada Google ja CloudFlare tekemään meille raskaan nostamisen, joten meidän on vain rakennettava verkkosivusto ja asetettava kaikki asetukset.

Tässä artikkelissa teemme:

  • Asenna Google App Engine -projekti
  • Ota verkkosivusto käyttöön pilveen
  • Hanki oma verkkotunnuksesi
  • Asenna oma verkkotunnuksesi CloudFlare -sovelluksella
  • Siirry DNS-asetusten avulla osoittaaksesi verkkotunnuksen verkkosivustoomme
  • Määritä välimuisti ja HTTPS verkkotunnuksella tukemaan laajamittaista skaalaa

Se kuulostaa kovalta, varsinkin jos et ole tottunut näihin termeihin, mutta käymme läpi jokaisen vaiheen yhdessä.

Harkitse tämän jakamista sosiaalisessa mediassa muille, jotka saattavat pitää siitä hyödyllisenä, tai lähetä linkki jokaiselle tiedällesi, joka maksaa staattisesta verkkosivuston ylläpidosta.

Mikä on Google App Engine?

Google App Engine on Googlen palvelu, jonka avulla voit rakentaa ja isännöidä monimutkaisia ​​web-sovelluksia, jotka toimivat erittäin suuressa mittakaavassa. Voit olla vuorovaikutuksessa satojen sovellusliittymien kanssa kaikenlaisten teknisten haasteiden ratkaisemiseksi, kuten tietojen tallentaminen, kyselyiden suorittaminen, jonotustyöt, koneoppimisominaisuuksien tarjoaminen, sähköpostin lähettäminen ... oi niin, sekä HTML- ja CSS-palveluiden tarjoaminen.

Google App Enginen ilmainen kiintiö tarkoittaa, että verkkosivustosi voi vastaanottaa tietyn määrän liikennettä ennen kuin sinun on aloitettava maksaminen siitä; mutta itse asiassa emme mennä mihinkään sen lähellä CloudFlaren ansiosta.

Mikä on CloudFlare?

CloudFlare on melko vaikea kuvailla, mutta meidän tarkoituksia varten voit ajatella sitä mahtavana (ja ilmaisena) sisällön välimuistivetolaitteena, jossa CloudFlare-palvelimet pitävät kopion verkkosivustostasi ja palvelevat sitä suoraan kävijöillesi. On syytä huomata, että CloudFlare tallentaa useita kopioita sisällöstä tärkeimmissä paikoissa ympäri maailmaa, joten kävijöiden selainten ei tarvitse päästä kovin kaukana Internetiin saadakseen sen.

Sivustoille, jotka eivät muutu usein, voit asettaa välimuistikäytännöt melko aggressiivisiksi - joten Google App Engine -projekti lopulta tuskin vastaanottaa monia pyyntöjä ollenkaan. Jos päivität sivustosi, sinun on joko odotettava välimuistin loppumista tai puhdistettava se manuaalisesti (selitän myöhemmin).

VAIHE 1: Luo verkkosivustosi

Ensimmäinen tehtävä on rakentaa verkkosivustosi. Tee tämä käyttämällä mitä tahansa työkaluja, joihin olet tottunut. Tavoitteena on päästä kansioon, joka sisältää koko verkkosivustosi. Se ei voi sisältää dynaamista sisältöä, joten CGI-skriptit, .aspx-sivut, Ruby on Rails -koodi jne. Ovat poissa pöydältä. Staattiset verkkosivustot ovat yleensä vain HTML-, CSS-, JavaScript-tiedostoja, kuvia jne.

Varmista, että sillä on index.html-sivu

Kun kävijät ostavat verkkotunnuksesi nimeä ilman polkua, index.html-sivu näytetään, joten varmista, että se on olemassa.

Laita kaikki www-kansioon

Lisäämme kansion staattisen verkkosivustomme sisältämiseksi, jotta projektimme rakenne näyttää tältä:

Laita koko verkkosivusto www-kansioon

Älä ole huolissasi app.yaml-tiedostosta myöhemmin; lisäämme sen pian.

Voit ajatella www-kansiota tarjoavan, kun kävijät menevät sivulle mywebsite.com.

VAIHE 2: Asenna Google App Engineen

Nyt sinulla on verkkosivustosi, on aika ottaa se käyttöön Google App Enginen.

Kirjaudu sisään Google Cloud Platform -konsoliin

Siirry osoitteeseen https://console.cloud.google.com ja kirjaudu sisään Google-tililläsi.

Luo projekti

Valitse valikosta Luo projekti ja valitse sopiva projektin nimi, joka heijastaa verkkotunnuksesi nimeä. Joten jos verkkotunnuksesi on matswebsite.com, kutsu ehkä tätä projektia Mats-verkkosivustoksi. Se luo sinulle projektitunnuksen automaattisesti, mutta voit napsauttaa pientä Muokkaa-linkkiä muuttaaksesi sen ja valita oman. Käytämme tätä projektitunnusta myöhemmin, joten tee siitä mukava ja helppo muistaa. Projektitunnuksen on oltava maailmanlaajuisesti ainutlaatuinen, minkä vuoksi verkkotunnuksesi käyttäminen ei ole huono idea, esim. matswebsitecom.

Napsauta Luo.

Projektin luominen Google Cloud Platformissa

Hetken kuluttua projekti luodaan ja voimme ottaa Google App Enginen käyttöön.

Avaa valikko (napsauta kolmea riviä vasemmassa yläkulmassa) ja valitse App Engine päästäksesi App Engine -konsoliin.

Asenna Google Cloud SDK

Siirry osoitteeseen https://cloud.google.com/sdk/ ja lataa Google Cloud SDK tietokoneellesi. SDK sisältää komentorivityökalut, joita voimme käyttää verkkosivustosi käyttöönottoon.

Lisää app.yaml-tiedosto

Jotta voisimme kertoa Google App Enginelle, kuinka haluaisimme sivustomme käyttöönoton, meidän on luotava pieni kokoonpanotiedosto verkkosivustomme juurikansioon.

Lisää seuraava uuteen tiedostoon:

ajonaika: mene
api_version: go1
käsittelijät:
- URL: /
  static_files: www / hakemisto.html
  lataa: www / hakemisto.html
- URL: /(.*)
  static_files: www / \ 1
  lataa: www /(.*)

YAML-tiedostoissa välilyönti on tärkeä, joten varmista, että ennen static_files- ja upload-rivejä on kaksi välilyöntiä.

Voit oppia lisää app.yaml-tiedostosta lukemalla ohjeet. Toistaiseksi riittää, kun tiedämme, että tarjoamme staattisesti sisältöä www-kansiosta.

Lisää main.go-tiedosto

Jotta projektimme voisi olla kelvollinen Go-projekti, meidän on lisättävä Go-koodi. Älä huoli, annan sinulle tarvittavan koodin ehdoton vähimmäismäärä.

Luo kansioon tiedosto (app.yaml-tiedoston rinnalla), nimeltään main.go, ja lisää seuraava koodi:

paketti-sovellus
func main () {}
Jos et ole ennen kuullut Golasta, suosittelen sitä tarkasti - se on hauska ja erittäin hyödyllinen kieli: miksi et käyisi kiertueella?

sijoittaa

Päätelaatikossa kirjaudu sisään ensin gcloud-komennolla (Google Cloud SDK: lta):

gcloud auth login
Jos takertuit tänne, siirry Quickstart-oppaan ohjeisiin.

Tämä avaa verkkoselaimen ja pyytää sinua kirjautumaan Google-tiliisi. Kun se on valmis, pääte ilmoittaa kirjautumisen onnistuneen.

Nyt cd verkkosivustosi kansioon, jotta ls tai dir suorittaminen näyttää www-kansion luettelossa.

Aseta nyt projektin nimi:

gcloud config set projekti PROJECT_ID

Korvaa PROJECT_ID projektitunnuksella, jonka määritit luodessasi projektia Google Cloud Consolessa.

Nyt aloitamme käyttöönoton:

gcloud-sovelluksen käyttöönotto

Jos Google Cloud SDK tarvitsee lisäkomponentteja (minulle se tarvitsi app-engine-go), sinua pyydetään asentamaan ne. Vastaa Y (kyllä) jokaiselle kysymykselle.

Lopuksi se kysyy, haluatko ottaa sovelluksen käyttöön - paina Y ja kirjoita uudelleen.

Jonkin ajan kuluttua sovellus otetaan käyttöön ja siihen voidaan päästä appspot.com-verkkotunnuksen kautta:

https://PROJECT_ID.appspot.com
Muista korvata PROJECT_ID projektitunnuksellasi.

VAIHE 3: Asenna verkkotunnuksesi nimi

Valitse ja osta verkkotunnus

Jotta kävijät näkevät verkkosivustosi, heidän on käydä verkkotunnuksessa - ja vaikka voisit käyttää Google App Enginen sinulle ilmaiseksi tarjoamista appspot.com-sivustosta, on mukavampaa olla oma.

Siirry osoitteeseen namecheap.com tai etsi yritystä, joka myy verkkotunnuksia ja ostaa verkkotunnuksesi. Sinun on voitava muuttaa nimipalvelimia, joten varmista, että yritys tukee tätä (Namecheap tekee).

Asenna CloudFlare

Siirry CloudFlare.com-sivulle ja luo tili. Valitse sitten yläreunan valikkoriviltä Lisää sivusto. Kirjoita verkkotunnuksesi ja napsauta Aloita tarkistus. Kun se on lopettanut sen jumal-tietää-mitä taikuutta, napsauta Jatka asennusta ja noudata jäljellä olevia vaiheita, napsauttamalla Jatka missä voit, kunnes pääset Valitse CloudFlare-suunnitelmasivulle.

Valitse ILMAINEN suunnitelma ja napsauta Jatka.

Ilmaisella verkkosivustosuunnitelmalla on kaikki mitä tarvitsemme - CloudFlare on melko runsas.

Sitten sinua pyydetään päivittämään nimipalvelimesi, joten palaa takaisin sinne, missä olet ostanut verkkotunnuksesi ja kirjoita CloudFlaren antamat arvot.

Jotta voimme reitittää liikennettä CloudFlaren kautta, meidän on päivitettävä nimipalvelimet. CloudFlare kertoo käytettävät arvot.

Namecheapissa siirryt hallintapaneeliin ja napsautat verkkotunnuksesi vieressä olevaa KÄSITTELY. Etsi sitten NAMESERVERS ja valitse Mukautettu DNS. Kopioi ja liitä nimipalvelimet kahteen mukana olevaan ruutuun:

Namecheap antaa sinun määrittää omat nimipalvelimesi. Muista napsauttaa pientä vihreää valintamerkkiä vahvistaaksesi muutokset.

Kun olet valmis, napsauta Jatka CloudFlare-sovelluksessa ja odota. Muutosten voimaantulo voi viedä jonkin aikaa, joten mene ja napata kuppi teetä tai muuta sopivaa (tai sopimatonta) juomaa.

Lopulta se muuttuu vihreäksi (voit päivittää niin monta kertaa kuin haluat):

Kun nimipalvelimet on päivitetty, sivustosi sijoittuu CloudFlareen.

Kerro App Enginen verkkotunnuksestasi

Pääset takaisin Google Cloud Console -sovellukseen uudelleen App Engine -konsoliin ja valitse Asetukset.

Valitse Muokatut verkkotunnukset -välilehdessä Lisää mukautettu verkkotunnus.

Sinun on varmistettava, että omistat verkkotunnuksen, ennen kuin voit pyytää Google App Engineä tarjoamaan sisältöä sille - tee tämä valitsemalla Vahvista uusi verkkotunnus luettelosta ja kirjoittamalla se annettuun ruutuun.

Napsauttamalla Vahvista käynnistyy uusi prosessi, jolla voimme todistaa omistamme ja hallitsemme kyseistä verkkotunnusta. Valitse uudessa ikkunassa palveluntarjoajan nimi (toivottavasti Namecheap - koska se on helppoa) ja huomaa, että sinua pyydetään lisäämään TXT DNS-tietue:

Todistaaksemme Googlelle, että hallitsemme verkkotunnusta, meidän on lisättävä niiden tarjoama erityinen DNS-koodi.

Älä huoli - tämä ei ole niin pelottavaa kuin miltä näyttää. Valitse outo teksti ruudun sisällä, kopioi se ja siirry takaisin CloudFlare-sovellukseen, niin lisäämme arvon.

Varmista, että verkkotunnuksesi on valittu CloudFlare-sovelluksessa, ja valitse DNS-välilehti.

Taulukon yläosassa on lomake, johon voimme lisätä tietueen, jota Google haluaa:

Kirjoita Nimi-kenttään @ -merkki ja liitä Sisältö-kohtaan arvo, jonka Google antoi meille. Napsauta Lisää tietue.

Se lisätään DNS-tietueiden luetteloon.

Palaa nyt Google Cloud Platformiin ja napsauta Vahvista.

Tämä voi viedä jonkin aikaa - joten älä ole järkyttynyt, jos se ei toimi heti. Niin kauan kuin olet liittänyt oikean arvon CloudFlareen, se päivitetään lopulta. Odotat todella, että DNS-palvelimet leviävät, mikä kuulostaa maagisemmalta kuin se on - mutta jos et halua odottaa, harkitse Googlen julkisten DNS-palvelimien käyttöä, ne ovat erittäin nopeita.

Lopuksi saat yllä olevan menestyssivun.

Takaisin Google Cloud Consolessa> App Engine> Asetukset> Muokatut verkkotunnukset, napsauta Päivitä verkkotunnukset ja huomaa, että verkkotunnuksesi on nyt vaihtoehto avattavassa luettelossa. Valitse se ja napsauta Jatka ja napsauta sitten Tallenna kartoitukset.

Napsauta hetken kuluttua Jatka uudelleen ja huomaa, että Google App Engine antaa nyt meille uusia DNS-asetuksia. Meidän on varmistettava, että CloudFlare DNS -sivullamme on samat arvot.

Google haluaa meidän laittavan jokaisen näistä arvoista CloudFlare-konsoliin - vähän kopiointia ja liittämistä ei koskaan satuta ketään, eikö niin?

Paina takaisin CloudFlaressa X kaikkien kaikkien DNS-tietueiden viereen, paitsi lisäämämme TXT-tietueiden viereen (jätämme sen sinne, jotta Google tietää, että hallitsemme kyseistä verkkotunnusta aina).

Luo nyt tietue CloudFlaressa jokaiselle Google-sivun kohteelle. Tämä on vaikein asia, joka meidän on tehtävä niin, lue ensin nämä vinkit läpi:

  • TXT-pudotusvalikossa voit määrittää tyypin (tarvitset A, AAAA ja CNAME)
  • Google App Enginissa Alias-kenttä on nimi Cloudflare. Jos aliaksia ei ole, käytä @ -merkkiä uudelleen. (Voit myös jättää sen tyhjäksi. CloudFlare tietää mitä tarkoitat - tai se kehottaa sinua asettamaan sen arvoon @)
  • Jätä TTL automaattiseksi TTL: ksi
  • CloudFlare tietää mitä se tekee, ja on vaikea tehdä virhettä - joten kopioi ja liitä jokainen arvo ja luota CloudFlare -sovellukseen kertoa sinulle, jos sekoitat
  • Varo ylimääräisiä välilyöntejä kopioitaessa ja liitettäessä. Se saattaa aiheuttaa vahvistusvirheen, mutta se on vaikea nähdä

Se lopulta näyttää tältä:

Napsauta takaisin Google App Engine -palvelussa Valmis.

Anna Internetille aikaa kiinniottoon

Jotta verkkotunnuksesi toimisi, Internetin on seurattava näitä muutoksia. He sanovat, että tämä voi viedä 24 tuntia, mutta jos käytät Googlen DNS-palvelimia, se on yleensä melko välitöntä.

Odottaessasi voit ottaa aggressiivisen välimuistin ja HTTPS: n käyttöön CloudFlaressa.

VAIHE 4: Asennusvälimuisti ja HTTPS

Temppu staattisen isännöinnin pitämisessä vapaana riippumatta siitä, kuinka paljon liikennettä saat, on välimuistin käyttöönotto CloudFlaressa.

Napsauta Säännöt-välilehteä ja napsauta Luo sivusääntö.

Kirjoita verkkotunnuksesi URL-osoitekenttään muodossa: * .verkkosivusto.com / * - mikä osoittaa, että sääntöä on sovellettava aliverkkotunnuksesta ja polusta riippumatta.

Valitse asetuksessa Edge Cache TTL ja aseta arvo kuukaudeksi. Napsauta Tallenna ja ota käyttöön.

Edge-välimuistin TTL: n asettaminen kuukauteen aiheuttaa (teoriassa) Google App Engine -sivustomme osuman vain kerran kuukaudessa. Loppuaikaan CloudFlaren reuna-CDN palvelee sitä. Tämä on selvästi aggressiivista - voit pelata asetusten avulla löytääksesi sinulle oikeat arvot.

Jotta sivustollemme pääsee helposti HTTPS: n kautta, lisäämme toisen sivusäännön:

Laita tällä kertaa URL-osoitteiden vastaavuusarvoksi: http: //*.omaverkkosivusto.com/*

Käyttämällä sivusääntöä CloudFlaressa voimme sanoa, että se käyttää aina HTTPS: ää verkkosivustollemme.

Valitse luettelosta Käytä aina HTTPS: tä ja napsauta Tallenna ja ota käyttöön.

Voit halutessasi lisätä edelleenlähetys-URL-osoitteen varmistaaksesi, että kaikki liikenne ohjataan joko osoitteeseen www.mywebsite.com tai mywebsite.com.

Nämä ovat honorablecode.com-sivuston viimeiset sivusäännöt

Puhdista välimuisti milloin haluat

Aina kun teet muutoksia verkkosivustollesi, siirry CloudFlare-konsoliin, siirry Välimuisti-välilehteen ja valitse avattavasta Pyyhi kaikki:

Verkkosivustosi uudet pyynnöt siirtyvät nyt Google App Engineen, ja uusin versio näytetään (ja CloudFlare välimuistiin tallentaa tulevia pyyntöjä varten).

Verkkosivustosi on suora!

Kun DNS-palvelimet ovat kiinni, suojattu ilmainen staattinen verkkosivustosi on verkossa.

johtopäätös

Käyttämällä vain ilmaisia ​​Google App Engine ja CloudFlare -vaihtoehtoja ja vähän DNS-taikuutta pystymme ylläpitämään tuotantovalmiita staattista verkkosivustoamme ilmaiseksi.

Pystyimme:

  • Asenna Google App Engine -projekti
  • Ota verkkosivusto käyttöön pilveen
  • Hanki oma verkkotunnuksesi
  • Asenna oma verkkotunnuksesi CloudFlare -sovelluksella
  • Siirry DNS-asetusten avulla osoittaaksesi verkkotunnuksen verkkosivustoomme
  • Määritä välimuisti ja HTTPS verkkotunnuksella tukemaan laajamittaista skaalaa

Hyvää työtä.

Osta kirjani

Olen teoriassa säästänyt sinulle paljon rahaa, joten miksi et sano kiitos ostamalla kirjani. :)

Jos pidät asioiden tekemisestä tämän artikkelin tapaan, rakastat sitä, mitä voit tehdä Go-palvelussa. Go Programming Blueprints -teoksessani rakennamme todellista kamaa. Taivuta dev lihaksia.

Hanki kopio osoitteesta https://www.packtpub.com/application-development/go-programming-blueprints-second-edition

Piipitä myös minua @matryer, jos joudut kiinni, ja näen, voinko auttaa.