CLOUD HACK: Hogyan készítsük el a gyártást INGYEN statikus webhely-tárhelyen

Ez a cikk mindent megtesz, amelyet tennie kell ahhoz, hogy statikus webhelyét üzemeltesse és készen álljon a termelésre.

Ez támogat egy őrült forgalmat, és semmit sem jelent!

Együtt kóborolunk a DNS-rekordokkal és más alacsony szintű dolgokkal, de ez könnyebb, mint amilyennek hangzik - és teljesen megéri.

Nem tudtam kitalálni, hogyan lehet ingyenes domain nevet szerezni, tehát a valódi átláthatóság szellemében azt kell mondanom, hogy ezt meg kell fizetnie.

Bevezetés

Meg fogjuk kapni a Google-t és a CloudFlare-t, hogy megtehessük a nehéz edzést értünk, tehát csak fel kell állítanunk a weboldalt, és mindent beállítanunk kell.

Ebben a cikkben:

  • Telepítse a Google App Engine projektet
  • Telepítsen egy webhelyet a felhőbe
  • Szerezd meg a saját domain nevünket
  • Állítsa be saját domain nevünket a CloudFlare segítségével
  • Hegedüljön a DNS-beállításokkal, hogy a domaint a webhelyünkre irányítsa
  • Konfigurálja a gyorsítótárazást és a HTTPS-t a tartományon, hogy támogassa a nagy léptéket

Nehéznek hangzik, főleg, ha nem szokott ezekhez a kifejezésekhez, de együtt járunk minden egyes lépéssel.

Kérjük, fontolja meg ennek megosztását a közösségi médiában mások számára, akik hasznosnak találhatják azt, vagy küldje el a linket mindenki számára, akit ismer, aki fizet a statikus webhely hostingért.

Mi a Google App Engine?

A Google App Engine egy olyan Google szolgáltatás, amely lehetővé teszi bonyolult, rendkívül nagy léptékű webes alkalmazások létrehozását és üzemeltetését. Interakcióba léphet több száz API-val, hogy mindenféle technikai kihívást megoldhasson, például adatok tárolása, lekérdezések futtatása, sorba állítás, gépi tanulási képességek biztosítása, e-mail küldés… ó, igen, valamint a HTML és CSS kiszolgálása.

A Google App Engine ingyenes kvóta azt jelenti, hogy webhelye bizonyos mennyiségű forgalmat érhet el, mielőtt meg kellene fizetnie; de valójában a CloudFlarenak köszönhetően nem megyünk oda sehova.

Mi a CloudFlare?

A CloudFlare-t nagyon nehéz leírni, de céljainkra egy fantasztikus (és ingyenes) tartalom gyorsítótárazási képességként gondolhatunk, ahol a CloudFlare szerverek tárolják az Ön webhelyének egy példányát, és közvetlenül a látogatók számára szolgálják ki. Érdemes megjegyezni, hogy a CloudFlare a tartalom sok példányát tárolja a világ legfontosabb helyein, így a látogatók webböngészőinek nem kell nagyon messze menniük az internetre, hogy megszerezzék.

A gyakran nem változó webhelyek esetében a gyorsítótárazási irányelveket beállíthatja elég agresszívként - így a Google App Engine projektje alig kap sok kérést. Ha frissíti a webhelyét, akkor vagy csak várnia kell a gyorsítótár lejárását, vagy manuálisan ki kell ürítenie (később magyarázom meg).

1. LÉPÉS: Hozza létre webhelyét

Az első lépés, amelyet el kell készíteni a webhelyén. Ehhez bármilyen szokásos eszközt használjon, a cél az, hogy egy mappát készítsen, amely a teljes webhelyét tartalmazza. Nem tartalmazhat dinamikus tartalmat, így a CGI szkriptek, .aspx oldalak, a Ruby on Rails kód stb. A statikus webhelyek általában csak HTML, CSS, JavaScript fájlok, képek stb.

Győződjön meg arról, hogy van egy index.html oldala

Amikor a látogatók elérési út nélkül elérik a domain nevet, akkor megjelenik az index.html oldal, tehát ellenőrizze, hogy létezik-e.

Tegyen mindent egy www mappába

Hozzá fogunk adni egy mappát a statikus weboldalunk tárolására, hogy a projekt felépítése így néz ki:

Helyezze az egész weboldalt egy www mappába

Ne aggódjon az app.yaml fájl miatt később; hamarosan hozzáadjuk.

Gondolhatja a www mappát arra, amelyet kiszolgálnak, amikor a látogatók a mywebsite.com webhelyre lépnek.

2. LÉPÉS: Telepítse a Google App Enginebe

Most már megvan a webhelye, ideje telepíteni azt a Google App Engine-re.

Jelentkezzen be a Google Cloud Platform konzolba

Menjen át a https://console.cloud.google.com webhelyre, és jelentkezzen be Google-fiókjával.

Hozzon létre egy projektet

Válassza a Projekt létrehozása menüpontot, és válassza ki a megfelelő projektnevet, amely tükrözi a domain nevét. Tehát ha a domainje a matswebsite.com, akkor hívja ezt a projektet a Mats webhelyre. Ez automatikusan generálja a projekt azonosítóját az Ön számára, de a módosításhoz kattintson a kis Szerkesztés linkre, és válassza ki a sajátját. Ezt a projekt azonosítót később fogjuk használni, így szép és könnyű megjegyezni. A projekt azonosítójának globálisan egyedinek kell lennie, ezért a domain használata nem rossz ötlet, pl. matswebsitecom.

Kattintson a Létrehozás gombra.

Projekt létrehozása a Google Cloud Platformon

Rövid idő múlva létrejön a projekt, és engedélyezhetjük a Google App Engine alkalmazást.

Nyissa meg a menüt (kattintson a bal felső sarokban található három sorra), és válassza az App Engine lehetőséget az App Engine konzol eléréséhez.

Telepítse a Google Cloud SDK-t

Keresse fel a https://cloud.google.com/sdk/ webhelyet, és töltse le számítógépére a Google Cloud SDK-t. Az SDK parancssori eszközöket tartalmaz, amelyeket felhasználhatunk webhelye telepítésére.

Adjon hozzá egy app.yaml fájlt

Annak érdekében, hogy megmondjuk a Google App Engine-nek, hogyan szeretnénk telepíteni webhelyünket, el kell készítenünk egy kis konfigurációs fájlt webhelyünk gyökérmappájában.

Helyezze be a következőket az új fájlba:

futási idő: menj
api_version: go1
rakodók:
- url: /
  static_files: www / index.html
  feltöltés: www / index.html
- url: /(.*)
  static_files: www / \ 1
  feltöltés: www /(.*)

A YAML fájlokban a szóköz fontos, tehát ellenőrizze, hogy van-e két szóköz a static_files és a feltöltési sorok előtt.

A dokumentáció elolvasásával többet megtudhat az app.yaml fájlról, egyelőre elegendő tudni, hogy statikusan a www mappából származó tartalmat szolgáltatjuk.

Adjon hozzá egy main.go fájlt

Annak érdekében, hogy projektünk érvényes Go projekt legyen, hozzá kell adnunk néhány Go kódot. Ne aggódjon, megadom a szükséges abszolút minimális mennyiséget.

Hozzon létre egy fájlt a mappájában (az app.yaml fájl mellett), a main.go elnevezéssel, és illessze be a következő kódot:

csomag alkalmazás
func main () {}
Ha korábban még nem hallottál a Go-ról, határozottan javaslom, hogy vessen egy pillantást erre - ez egy szórakoztató és rendkívül hasznos nyelv: Miért nem veszi át a turnét?

Vezesse

A terminálhéjban először használja a gcloud parancsot (a Google Cloud SDK-ból) a bejelentkezéshez:

gcloud auth login
Ha elakad itt, keresse fel a Quickstart útmutatót, hogy segítséget kapjon.

Ezzel megnyílik egy webböngésző, és felkéri, hogy jelentkezzen be Google Fiókjába. Ha kész, a terminál jelzi, hogy a bejelentkezés sikeres volt.

Most helyezze el a CD-t a webhely mappájába, hogy az ls vagy dir művelettel megjelenítse a www mappát a listában.

Most állítsa be a projekt nevét:

gcloud config set PROJECT_ID projekt

Cserélje ki a (z) PROJECT_ID felhasználót a projekt azonosítójára, amelyet a projekt létrehozásakor a Google Cloud Console-ban állított be.

Most megkezdjük a telepítést:

gcloud alkalmazás telepítése

Ha a Google Cloud SDK-nek további alkatrészeire van szüksége (számomra az app-engine-go-ra van szüksége), akkor a rendszer kéri a telepítést. Válaszoljon Y kérdésre (igen) minden kérdésre.

Végül megkérdezi, telepíteni kívánja-e az alkalmazást - nyomja meg az Y billentyűt, és írja be újra.

Egy idő után az alkalmazás telepítésre kerül és elérhető az appspot.com domainen:

https://PROJECT_ID.appspot.com
Ne felejtse el kicserélni a PROJECT_ID kódot a projekt azonosítójára.

3. LÉPÉS: Állítsa be a domain nevét

Válasszon és vásároljon domaint

Annak érdekében, hogy a látogatók láthassák az Ön weboldalát, meg kell látogatniuk egy domain nevet - és bár használhatná az appspot.com webhelyet, amelyet a Google App Engine ingyenesen ad neked, sokkal szebb a saját.

Keresse fel a namecheap.com webhelyet, vagy keressen egy olyan társaságot, amely domain neveket árusít, és megveszi az Ön domainjét. Önnek képesnek kell lennie a névkiszolgálók megváltoztatására, ezért ellenőrizze, hogy a vállalat támogatja-e ezt (a Namecheap igen).

A CloudFlare beállítása

Lépjen a CloudFlare.com webhelyre, és hozzon létre egy fiókot. Ezután válassza a Telepítés hozzáadása menüpontot a tetején. Írja be domainjét, majd kattintson a Beolvasás megkezdése elemre. Miután elkészítette az isten tudja, milyen varázslatot, kattintson a Telepítés folytatása elemre, és hajtsa végre a fennmaradó lépéseket, majd kattintson a Folytatás elemre, ahol elérhető, amíg el nem éri a Válassza ki a CloudFlare tervet oldalt.

Válassza az INGYENES tervet, majd kattintson a Folytatás gombra.

Az ingyenes webhelyterv mindent tartalmaz, amire szükségünk van - a CloudFlare nagyon nagylelkű.

Ezután felkérést fog kapni a névkiszolgálók frissítésére, tehát térjen vissza arra a helyre, ahol megvásárolta a domain nevet, és írja be a CloudFlare által megadott értékeket.

Annak érdekében, hogy a forgalmat a CloudFlare-on keresztül irányítsuk, frissítenünk kell a névkiszolgálókat. A CloudFlare megmondja, hogy mely értékeket kell használni.

A Namecheap alkalmazásban belép az Irányítópultra, és a domain melletti KEZELÉS elemre kattint. Ezután keresse meg a NAMESERVERS szolgáltatást, és válassza az Egyéni DNS lehetőséget. Másolja és illessze be a névkiszolgálókat a megadott két mezőbe:

A Namecheap lehetővé teszi a saját névkiszolgálók megadását. Ne felejtse el kattintani a zöld zöld pipara a változások megerősítéséhez.

Ha elkészült, kattintson a Folytatás elemre a CloudFlare alkalmazásban, és várjon. Időbe telhet, amíg a változások hatályba lépnek, ezért menjen el egy csésze teát vagy más megfelelő (vagy nem megfelelő) italt.

Végül zöld színűvé válik (annyiszor frissítheti, amennyit csak akar):

Miután a névszervereket frissítették, webhelyed élőben lesz a CloudFlare-ban.

Mondja el az App Engine-nek a domainjét

A Google Cloud Console-ban ismét hozzáférjen az App Engine konzolhoz, és válassza a Beállítások lehetőséget.

Az Egyéni domainek lapon válassza az Egyéni tartomány hozzáadása lehetőséget.

Mielőtt megkérheti a Google App Engine-t, hogy tartalmat bocsásson rá, ellenőriznie kell, hogy rendelkezik-e a domainnel - ezt úgy teheti meg, ha a listából kiválasztja az Új domain ellenőrzése lehetőséget, és beírja a megadott mezőbe.

Az Ellenőrzés gombra kattintva új folyamat indul, amelyben bebizonyíthatjuk, hogy a domain név tulajdonosa és ellenőrzése alatt áll. Az új ablakban válassza ki a szolgáltató nevét (remélhetőleg a Namecheap - mivel ez könnyű), és vegye figyelembe, hogy felkérést kapnak egy TXT DNS-rekord hozzáadására:

Annak igazolására, hogy a Google-nak irányítunk egy domain nevet, hozzá kell adnunk egy különleges DNS-kódot, amelyet nyújtanak.

Ne aggódjon - ez nem olyan ijesztő, mint amilyennek látszik. Jelölje ki a furcsa szöveget a mezőben, másolja át, és térjen vissza a CloudFlare-hez, és hozzáadjuk az értéket.

Ellenőrizze, hogy a domain van-e kiválasztva a CloudFlare alkalmazásban, és válassza a DNS fület.

A táblázat tetején található egy űrlap, amellyel hozzáadhatjuk a Google által kívánt rekordot:

A Név mezőbe írjon be egy @ karaktert, és a Tartalom mezőbe illessze be azt az értéket, amelyet a Google adott nekünk. Kattintson a Felvétel hozzáadása elemre.

Ez hozzáadódik a DNS-rekordok listájához.

Most térjen vissza a Google Cloud Platformra, és kattintson az Ellenőrzés gombra.

Ez időbe telhet, ezért ne aggódjon, ha nem működik azonnal. Mindaddig, amíg beilleszti a helyes értéket a CloudFlare-be, az végül frissül. Ön valóban arra vár, hogy a DNS-kiszolgálók elterjedjenek, ami varázslatosabbnak tűnik, mint amilyen - de ha nem akar várni, fontolja meg a Google nyilvános DNS-kiszolgálóinak használatát, ezek nagyon gyorsak.

Végül megkapja a fenti sikeroldalt.

Vissza a Google Cloud Console> App Engine> Beállítások> Egyéni domainek elemre, kattintson a domainek frissítése elemre, és vegye figyelembe, hogy a domain most egy opció a legördülő listában. Válassza ki, majd kattintson a Folytatás elemre, majd kattintson a leképezések mentése elemre.

Egy pillanat után kattintson ismét a Folytatás elemre, és vegye figyelembe, hogy a Google App Engine új DNS-beállításokat ad nekünk. Gondoskodnunk kell arról, hogy a CloudFlare DNS oldalunk ugyanazokkal az értékekkel rendelkezzen.

A Google azt akarja, hogy mindezeket az értékeket a CloudFlare konzolba helyezzük - egy kis másolás és beillesztés soha nem bántja senkit, igaz?

A CloudFlare-ben nyomja meg az X-t az összes DNS-rekord mellett, a hozzáadott TXT kivételével (kivéve, ha ott hagyjuk, így a Google tudja, hogy mindig ellenőrizzük ezt a domaint).

Most a Google oldal minden eleméhez hozzon létre egy rekordot a CloudFlare alkalmazásban. Ez a legnehezebb dolog, amit meg kell tennünk, először olvassa el ezeket a tippeket:

  • A TXT legördülő menüben adja meg a típust (A, AAAA és CNAME lesz szüksége)
  • A Google App Engine alkalmazásban az Alias ​​mező neve a Cloudflare név. Ha nincs álnév, akkor ismét használja a @ karaktert. (Üresen is hagyhatja, és a CloudFlare megtudja, hogy mire gondol - vagy arra fog kérni, hogy állítsa @ -ra.)
  • Hagyja a TTL-t automatikus TTL-ként
  • A CloudFlare tudja, mit csinál, és nehéz hibázni - tehát másolja be és illessze be az egyes értékeket, és bízza a CloudFlare-t, hogy elmondja, ha összezavarod
  • Vigyázzon a további üres helyre másolás és beillesztéskor, mert ellenőrzési hibát okozhat, de nehéz látni

A végén így néz ki:

A Google App Engine alkalmazásban kattintson a Kész gombra.

Adj időt az internetnek felzárkóztatáshoz

Annak érdekében, hogy domainje működjön, az internetnek fel kell lépnie ezekkel a változásokkal. Azt mondják, hogy ez 24 órát vehet igénybe, de ha a Google DNS-kiszolgálóit használja, ez általában elég gyors.

Várakozás közben engedélyezheti az agresszív gyorsítótárazást és a HTTPS-t a CloudFlare-on.

4. LÉPÉS: Beállítások gyorsítótárazása és HTTPS

Az a trükk, hogy a statikus tárhelyet szabadon tartja, függetlenül attól, hogy mennyi forgalmat ér el, az a gyorsítótárazás engedélyezése a CloudFlare alkalmazásban.

Kattintson az Oldalszabályok fülre, majd az Oldalszabály létrehozása elemre.

Az URL-egyezési mezőbe írja be domainjét a következő formában: * .mywebsite.com / * - amely jelzi, hogy a szabályt az aldomaintől és az elérési útjától függetlenül kell alkalmazni.

A beállításban válassza az Edge Cache TTL elemet, és állítsa az értéket egy hónapra. Kattintson a Mentés és telepítés elemre.

Ha az Edge Cache TTL-t egy hónapra állítja (elméletileg), a Google App Engine webhelyünkre csak havonta kerül sor. Az idő hátralévő részében a CloudFlare él CDN szolgálja ki. Nyilvánvaló, hogy ez agresszív - játszhat a beállításokkal, hogy megtalálja az Ön számára megfelelő értékeket.

Annak érdekében, hogy webhelyünket HTTPS-en keresztül elérhetővé tegyük, egy új oldalszabályt fogunk hozzáadni:

Ezúttal adja meg az URL-egyezési értéket így: http: //*.mywebsite.com/*

Egy oldalszabály használatával a CloudFlare-ban megmondhatjuk, hogy mindig használja a HTTPS-t webhelyünkre.

Válassza a listából a Mindig a HTTPS használatát, majd kattintson a Mentés és telepítés elemre.

Opcionálisan hozzá is adhat egy Forwarding URL-t, hogy minden forgalom a www.mywebsite.com vagy a mywebsite.com webhelyre irányuljon.

Ezek a honorablecode.com webhely végső szabályai

Tisztítsa meg a gyorsítótárat, amikor csak akarja

Ha bármilyen változtatást hajt végre webhelyén, lépjen be a CloudFlare konzolba, nyissa meg a Gyorsítótár fület, és válassza a legördülő menü Mindent megtisztítása menüpontját:

A webhelyére vonatkozó új kérelmek mostantól a Google App Engine rendszerbe kerülnek, és a legfrissebb verziót kiszolgálják (és a CloudFlare tárolja a jövőbeli kérelmekhez).

Az Ön weboldala élő!

Miután a DNS-kiszolgálók felzárkóztak, biztonságos statikus webhelyed online lesz.

Következtetés

Csak a Google App Engine és a CloudFlare INGYENES lehetőségeinek, valamint egy kis DNS-varázslatnak köszönhetően költségmentesen üzemeltethetjük a statikus weboldalt is.

Képesek voltunk rá:

  • Telepítse a Google App Engine projektet
  • Telepítsen egy webhelyet a felhőbe
  • Szerezd meg a saját domain nevünket
  • Állítsa be saját domain nevünket a CloudFlare segítségével
  • Hegedüljön a DNS-beállításokkal, hogy a domaint a webhelyünkre irányítsa
  • Konfigurálja a gyorsítótárazást és a HTTPS-t a tartományon, hogy támogassa a nagy léptéket

Jó munka.

Vásárolja a könyvemet

Elméletileg csak sok pénzt takarítottam meg Önnek, akkor miért nem mondanám köszönöm, ha megvásároltam a könyvemet. :)

Ha szereti a dolgok elkészítését, mint ez a cikk, akkor imádni fogja, mit tehet a Go-val. A Go Programming Blueprints könyvemben valódi dolgokat építünk. Hajlítsa meg a dev izmait.

Töltse le példányát a https://www.packtpub.com/application-development/go-programming-blueprints-second-edition webhelyről

Ezenkívül tweet nekem @matryer, ha elakad, és megnézem, tudok-e segíteni.