CLOUD HACK: Kā sagatavot ražošanu BEZMAKSAS statiskā tīmekļa mitināšana

Šis raksts palīdzēs jums izdarīt visu, kas jums jādara, lai jūsu statiskā vietne būtu mitināta un gatava.

Tas atbalstīs nenormālu trafika daudzumu un neko nemaksās!

Kopā mēs vicināsimies ar DNS ierakstiem un dažiem citiem zema līmeņa ierakstiem, taču tas ir vienkāršāk, nekā izklausās, - un ir pilnīgi tā vērts.

Es nevarēju izdomāt veidu, kā iegūt bezmaksas domēna vārdu, tāpēc patiesas caurspīdīguma garā man jāsaka, ka jums par to būs jāmaksā.

Ievads

Mēs iegādāsimies Google un CloudFlare, lai viņi izdarītu smagu darbu mūsu labā, tāpēc mums vienkārši būs jāveido vietne un viss jāiestata.

Šajā rakstā mēs:

  • Iestatiet Google App Engine projektu
  • Ievietojiet vietni mākonī
  • Iegūstiet savu domēna vārdu
  • Iestatiet mūsu domēna vārdu, izmantojot CloudFlare
  • Vijiet apkārt ar DNS iestatījumiem, lai norādītu domēnu uz mūsu vietni
  • Konfigurējiet kešatmiņu un HTTPS domēnā, lai atbalstītu apjomīgu mērogu

Tas izklausās grūti, it īpaši, ja jūs neesat pieradis pie šiem noteikumiem, bet mēs katru soli staigāsim kopā.

Lūdzu, apsveriet iespēju to dalīties sociālajos medijos citiem, kuriem tas varētu šķist noderīgi, vai arī nosūtiet saiti visiem, kurus zināt, kuri maksā par statisku vietņu mitināšanu.

Kas ir Google App Engine?

Google App Engine ir Google pakalpojums, kas ļauj izveidot un mitināt sarežģītas tīmekļa lietojumprogrammas, kas darbojas ārkārtīgi augstā mērogā. Varat mijiedarboties ar simtiem API, lai atrisinātu visa veida tehniskas problēmas, piemēram, datu glabāšanu, vaicājumu vadīšanu, rindu veidošanu, mašīnmācīšanās iespēju nodrošināšanu, e-pasta sūtīšanu… ak, jā, kā arī HTML un CSS apkalpošanu.

Bezmaksas kvota Google App Engine nozīmē, ka jūsu vietne var saņemt noteiktu trafika daudzumu, pirms jums jāsāk par to maksāt; bet patiesībā, pateicoties CloudFlare, mēs nekur tālu neiešu.

Kas ir CloudFlare?

CloudFlare ir diezgan grūti aprakstīt, taču mūsu vajadzībām jūs to varat uzskatīt par satriecošu (un bezmaksas) satura kešatmiņas iespēju, kurā CloudFlare serveri glabās jūsu vietnes kopiju un kalpos tai tieši jūsu apmeklētājiem. Ir vērts atzīmēt, ka CloudFlare glabā daudzus satura eksemplārus galvenajās vietās visā pasaulē, lai apmeklētāju tīmekļa pārlūkprogrammām nebūtu ļoti tālu jāatrodas internetā, lai to iegūtu.

Vietnēm, kuras bieži nemainās, kešatmiņas politikas varat iestatīt uz diezgan agresīvām - tātad jūsu Google App Engine projekts diez vai saņems daudz pieprasījumu. Ja atjaunināsit savu vietni, jums būs jāgaida tikai kešatmiņas derīguma termiņa beigām vai arī manuāli jāiztīra tā (es paskaidrošu, kā vēlāk).

1. Solis: izveidojiet savu vietni

Pirmais, kas jādara, ir izveidot savu vietni. Dariet to, izmantojot kādus pierastos rīkus, mērķis ir izveidot mapi, kurā ir visa jūsu vietne. Tajā nedrīkst būt nekāda dinamiska satura, tāpēc visi CGI skripti, .aspx lapas, Ruby on Rails kods utt. Statiskās vietnes parasti ir tikai HTML, CSS, JavaScript faili, attēli utt.

Pārliecinieties, vai tai ir index.html lapa

Kad apmeklētāji jūsu domēna nosaukumam neveic ceļu, tiek rādīta lapa index.html, tāpēc pārliecinieties, vai tā pastāv.

Ielieciet visu www mapē

Mēs pievienosim mapi mūsu statiskajai vietnei, lai mūsu projekta struktūra izskatās šādi:

Ievietojiet visu vietni mapē “www”

Neuztraucieties par šo app.yaml failu vēlāk; mēs to drīz pievienosim.

Var domāt, ka mape www ir tā, kas tiks pasniegta, kad jūsu apmeklētāji apmeklēs vietni mywebsite.com.

2. Solis: izvietojiet Google App Engine

Tagad jums ir sava vietne, ir pienācis laiks to izvietot Google App Engine.

Pierakstieties Google Cloud Platform konsolē

Dodieties uz vietni https://console.cloud.google.com un pierakstieties, izmantojot savu Google kontu.

Izveidojiet projektu

Izvēlnē atlasiet Izveidot projektu un izvēlieties piemērotu projekta nosaukumu, kas atspoguļo jūsu domēna vārdu. Tātad, ja jūsu domēns ir matswebsite.com, iespējams, sauciet šo projektu par Mats vietni. Tas jums automātiski ģenerēs projekta ID, taču jūs varat noklikšķināt uz mazās saites Rediģēt, lai to mainītu un izvēlēties savu. Mēs izmantosim šo projekta ID vēlāk, tāpēc padariet to jauku un viegli iegaumējamu. Projekta ID ir jābūt globāli unikālam, tāpēc sava domēna izmantošana nav slikta ideja, piemēram, matswebsitecom.

Noklikšķiniet uz CREATE.

Projekta izveidošana vietnē Google Cloud Platform

Pēc neilga laika projekts tiks izveidots, un mēs varēsim iespējot Google App Engine.

Piekļūstiet izvēlnei (noklikšķiniet uz trim rindiņām augšējā kreisajā stūrī) un izvēlieties App Engine, lai piekļūtu App Engine konsolei.

Instalējiet Google Cloud SDK

Dodieties uz vietni https://cloud.google.com/sdk/ un lejupielādējiet savam Google Cloud SDK. SDK ir komandrindas rīki, kurus mēs izmantosim jūsu vietnes izvietošanai.

Pievienojiet app.yaml failu

Lai pastāstītu Google App Engine, kā mēs vēlamies mūsu vietni izvietot, mums savas vietnes saknes mapē ir jāizveido mazs konfigurācijas fails.

Jaunajā failā ievietojiet:

runtime: iet
api_version: go1
apstrādātāji:
- URL: /
  static_files: www / index.html
  augšupielādēt: www / index.html
- URL: /(.*)
  static_files: www / \ 1
  augšupielādēt: www /(.*)

YAML failos ir atstarpe, tāpēc pārliecinieties, ka pirms static_files un augšupielādes rindām ir divas atstarpes.

Lai uzzinātu vairāk par app.yaml failu, izlasiet dokumentāciju, jo tagad ir pietiekami zināt, ka mēs statiski apkalpojam mapi www.

Pievienojiet main.go failu

Lai mūsu projekts būtu derīgs Go projekts, mums jāpievieno kāds Go kods. Neuztraucieties, es jums norādīšu absolūti minimālo nepieciešamā koda daudzumu.

Izveidojiet mapē failu (blakus failam app.yaml) ar nosaukumu main.go un ievietojiet šo kodu:

pakotnes lietotne
func main () {}
Ja jūs vēl neesat dzirdējuši par Go, es ļoti iesaku to apskatīt - tā ir jautra un ārkārtīgi noderīga valoda: Kāpēc gan neiziet ekskursijā?

Izvietot

Termināļa apvalkā vispirms izmantojiet komandu gcloud (no Google Cloud SDK), lai pieteiktos:

gcloud auth login
Ja šeit iestrēdzat, dodieties uz Quickstart rokasgrāmatu, lai saņemtu palīdzību.

Tas atvērs tīmekļa pārlūku un lūgs pierakstīties savā Google kontā. Kad tas būs izdarīts, terminālis norādīs, ka pieteikšanās bija veiksmīga.

Tagad cd savā vietnes mapē, lai, veicot ls vai dir, sarakstā tiktu parādīta www mape.

Tagad iestatiet projekta nosaukumu:

gcloud config set projekts PROJECT_ID

Aizstājiet PROJECT_ID ar projekta ID, kuru iestatījāt, izveidojot projektu Google Cloud Console.

Tagad mēs sāksim izvietošanu:

lietotnes gcloud izvietošana

Ja Google Cloud SDK nepieciešami kādi papildu komponenti (man tas bija vajadzīgs app-engine-go), jums tiks piedāvāts tos instalēt. Par katru jautājumu atbildiet Y (par jā).

Visbeidzot tas jautās, vai vēlaties izvietot lietotni - nospiediet Y un ievadiet vēlreiz.

Pēc brīža lietojumprogramma tiks izvērsta un pieejama caur domēnu appspot.com:

https://PROJECT_ID.appspot.com
Atcerieties aizstāt PROJECT_ID ar sava projekta ID.

3. Solis: iestatiet savu domēna vārdu

Atlasiet un iegādājieties domēnu

Lai apmeklētāji varētu redzēt jūsu vietni, viņiem būs jāapmeklē domēna vārds - un, lai gan jūs varētu izmantot appspot.com, kuru jums bez maksas piešķir Google App Engine, ir daudz patīkamāk, ja jums ir savs.

Dodieties uz namecheap.com vai meklējiet uzņēmumu, kas pārdod domēna vārdus un iegādājas jūsu domēnu. Jums būs jāspēj mainīt vārda serverus, tāpēc pārliecinieties, vai uzņēmums to atbalsta (Namecheap to dara).

Iestatiet CloudFlare

Dodieties uz CloudFlare.com un izveidojiet kontu. Pēc tam augšpusē esošajā izvēlnes joslā atlasiet Pievienot vietni. Ievadiet savu domēnu un noklikšķiniet uz Sākt skenēšanu. Kad esat pabeidzis darīt to, kas dievs zina, kāda maģija, noklikšķiniet uz Turpināt iestatīšanu un veiciet atlikušās darbības, noklikšķinot uz Turpināt, kur varat, līdz esat nokļuvis Atlasīt CloudFlare plāna lapu.

Izvēlieties BEZMAKSAS plānu un noklikšķiniet uz Turpināt.

Bezmaksas vietnes plānā ir viss nepieciešamais - CloudFlare ir diezgan dāsni.

Pēc tam jums tiks lūgts atjaunināt savus vārda serverus, tāpēc dodieties atpakaļ uz to, kur iegādājāties savu domēna vārdu, un ievadiet vērtības, kuras jums piešķīra CloudFlare.

Lai maršrutētu satiksmi caur CloudFlare, mums ir jāatjaunina nosaukuma serveri. CloudFlare norāda, kādas vērtības izmantot.

Programmā Namecheap dodieties uz informācijas paneli un blakus savam domēnam noklikšķiniet uz PĀRVALDĪT. Pēc tam meklējiet NAMESERVERS un izvēlieties Pielāgots DNS. Kopējiet un ielīmējiet nosaukuma serverus divās pievienotajās lodziņos:

Namecheap ļauj jums norādīt savus vārdu serverus. Atcerieties noklikšķināt uz mazās zaļās atzīmes, lai apstiprinātu izmaiņas.

Kad esat to izdarījis, CloudFlare noklikšķiniet uz Turpināt un gaidiet. Var paiet zināms laiks, līdz izmaiņas stājas spēkā, tāpēc dodieties un paņemiet tasi tējas vai cita piemērota (vai nepiemērota) dzēriena.

Galu galā tas kļūs zaļš (varat atsvaidzināt tik reižu, cik vēlaties):

Kad vārda serveri būs atjaunināti, jūsu vietne būs aktivizēta CloudFlare.

Pastāstiet App Engine par savu domēnu

Atkal Google Cloud Console atkal piekļūstiet App Engine konsolei un atlasiet Iestatījumi.

Cilnē Pielāgoti domēni atlasiet Pievienot pielāgotu domēnu.

Lai varētu lūgt Google App Engine kalpot tam saturam, jums būs jāpārbauda, ​​vai jums pieder domēns - to dariet, atlasot no saraksta Verificēt jaunu domēnu un ievadot to paredzētajā lodziņā.

Noklikšķinot uz Pārbaudīt, tiks sākts jauns process, kurā varēsim pierādīt, ka mums pieder un kontrolējam šo domēna vārdu. Jaunajā logā atlasiet sava pakalpojumu sniedzēja vārdu (cerams, Namecheap - jo tas ir viegli) un pamaniet, ka jums tiek lūgts pievienot TXT DNS ierakstu:

Lai pierādītu uzņēmumam Google, ka mēs kontrolējam domēna vārdu, mums jāpievieno īpašs DNS kods, ko tie nodrošina.

Neuztraucieties - tas nav tik bailīgi, kā šķiet. Atlasiet dīvaino tekstu lodziņā, nokopējiet to un dodieties atpakaļ uz CloudFlare, un mēs pievienosim vērtību.

Pārliecinieties, vai jūsu domēns ir atlasīts CloudFlare, un izvēlieties cilni DNS.

Tabulas augšpusē ir veidlapa, kurā mēs varam pievienot ierakstu, kuru Google vēlas:

Laukā Vārds ievadiet rakstzīmi @ un saturam - ielīmējiet vērtību, ko mums piešķīra Google. Noklikšķiniet uz Pievienot ierakstu.

Tas tiks pievienots DNS ierakstu sarakstam.

Tagad dodieties atpakaļ uz Google Cloud Platform un noklikšķiniet uz Verify.

Tas var aizņemt kādu laiku - tāpēc nekautrējieties, ja tas nedarbojas uzreiz. Kamēr jūs ielīmēsit pareizo vērtību CloudFlare, tā galu galā tiks atjaunināta. Jūs faktiski gaidāt, kamēr DNS serveri izplatīsies, un tas izklausās vairāk maģiski, nekā tas ir, taču, ja nevēlaties gaidīt, apsveriet iespēju izmantot Google publiskos DNS serverus, tie ir ļoti ātri.

Visbeidzot, jūs redzēsit veiksmes lapu iepriekš.

Atpakaļ Google mākoņa konsolē> App Engine> Iestatījumi> Pielāgoti domēni, noklikšķiniet uz Atsvaidzināt domēnus un pamaniet, ka jūsu domēns tagad ir opcija nolaižamajā sarakstā. Atlasiet to un noklikšķiniet uz Turpināt, pēc tam noklikšķiniet uz Saglabāt kartēšanu.

Pēc brīža vēlreiz noklikšķiniet uz Turpināt un pamanāt, ka Google App Engine tagad mums piešķir jaunus DNS iestatījumus. Mums jāpārliecinās, ka mūsu CloudFlare DNS lapai ir vienādas vērtības.

Google vēlas, lai mēs katru no šīm vērtībām ievietotu CloudFlare konsolē - mazliet kopējot un ielīmējot, nekad nevienam nav nodarīts pāri, vai ne?

Atpakaļ CloudFlare nospiediet X blakus visiem DNS ierakstiem, izņemot TXT, kuru mēs pievienojām (mēs to atstāsim, lai Google zinātu, ka mēs vienmēr kontrolējam šo domēnu).

Tagad katram Google lapas vienumam izveidojiet ierakstu CloudFlare. Tas ir vissmagāk, kas mums jādara, vispirms izlasiet šos padomus:

  • Nolaižamajā TXT ir vieta, kur jūs norādāt veidu (jums būs nepieciešami A, AAAA un CNAME)
  • Google App Engine laukā Alias ​​ir vārds Cloudflare. Ja nav aizstājvārda, atkārtoti izmantojiet rakstzīmi @. (Varat arī atstāt to tukšu, un CloudFlare zinās, ko jūs domājat - vai arī jums tiks lūgts iestatīt to uz @)
  • Atstājiet TTL kā automātisku TTL
  • CloudFlare zina, ko tas dara, un ir grūti kļūdīties - tāpēc kopējiet un ielīmējiet katru vērtību un uzticieties CloudFlare, lai pateiktu, ja jūs sajaucat
  • Kopējot un ielīmējot, uzmanieties no papildu atstarpes, jo tā var izraisīt validācijas kļūdu, taču to ir grūti redzēt

Tas galu galā izskatīsies šādi:

Atkal Google App Engine noklikšķiniet uz Gatavs.

Dodiet internetam laiku panākt

Lai jūsu domēns darbotos, internetam ir jāatsakās no šīm izmaiņām. Viņi saka, ka tas var aizņemt 24 stundas, bet, ja jūs izmantojat Google DNS serverus, tas parasti notiek diezgan nekavējoties.

Gaidīšanas laikā CloudFlare varat iespējot agresīvu kešatmiņu un HTTPS.

4. Solis: iestatīšana kešatmiņā un HTTPS

Lai saglabātu bezmaksas statisko mitināšanu, neatkarīgi no tā, cik daudz trafika jūs saņemat, ir iespējot kešatmiņas saglabāšanu CloudFlare.

Noklikšķiniet uz cilnes Lapas noteikumi un noklikšķiniet uz Izveidot lappuses kārtulu.

URL atbilstības lodziņā ievadiet savu domēnu šādā formā: * .mywebsite.com / * - tas norāda, ka kārtula būtu jāpiemēro neatkarīgi no apakšdomēna un ceļa.

Iestatījumā izvēlieties Edge Cache TTL un iestatiet vērtību uz mēnesi. Noklikšķiniet uz Saglabāt un izvietot.

Ja Edge Cache TTL tiek iestatīts uz mēnesi (teorētiski), mūsu Google App Engine vietne tiks ietekmēta tikai reizi mēnesī. Pārējā laikā CloudFlare malas CDN to kalpos. Acīmredzot tas ir agresīvs - jūs varat spēlēt ar iestatījumiem, lai atrastu sev piemērotākās vērtības.

Lai mūsu vietne būtu pieejama, izmantojot HTTPS, mēs pievienosim vēl vienu lapas noteikumu:

Šoreiz vietrāža URL vērtību ielieciet šādi: http: //*.manu vietne.com/*

Izmantojot lapas kārtulu CloudFlare, mēs varam pateikt, ka tā mūsu vietnei vienmēr izmanto HTTPS.

Sarakstā izvēlieties Vienmēr izmantot HTTPS un noklikšķiniet uz Saglabāt un izvietot.

Varat pēc izvēles pievienot pārsūtīšanas URL, lai nodrošinātu, ka visa trafika tiek novirzīta uz vietni www.mywebsite.com vai mywebsite.com.

Šie ir galīgie honnerscode.com lapas noteikumi

Iztīriet kešatmiņu, kad vien vēlaties

Ikreiz, kad veicat izmaiņas savā vietnē, ienirstiet CloudFlare konsolē, piekļūstiet cilnei Kešatmiņa un nolaižamajā izvēlnē Notīriet visu:

Jauni jūsu vietnes pieprasījumi tagad nonāks Google App Engine, un tiks piegādāta jaunākā versija (un turpmākiem pieprasījumiem tiks saglabāta kešatmiņā CloudFlare).

Jūsu vietne darbojas tiešsaistē!

Kad DNS serveri būs saķērušies, jūsu drošā, statiskā vietne būs tiešsaistē.

Secinājums

Tikai izmantojot BEZMAKSAS Google App Engine un CloudFlare iespējas un mazliet DNS maģijas, mēs bez maksas varam mitināt mūsu produkcijai gatavu statisku vietni.

Mēs varējām:

  • Iestatiet Google App Engine projektu
  • Ievietojiet vietni mākonī
  • Iegūstiet savu domēna vārdu
  • Iestatiet mūsu domēna vārdu, izmantojot CloudFlare
  • Vijiet apkārt ar DNS iestatījumiem, lai norādītu domēnu uz mūsu vietni
  • Konfigurējiet kešatmiņu un HTTPS domēnā, lai atbalstītu apjomīgu mērogu

Labs darbs.

Pērciet manu grāmatu

Teorētiski es jums esmu ietaupījis daudz naudas, kāpēc gan neteikt paldies, nopērkot manu grāmatu. :)

Ja jums patīk paveikt lietas, kā aprakstīts šajā rakstā, jums patiks tas, ko varat darīt ar Go. Manā grāmatā Go Programming Blueprints mēs veidojam īstu lietu. Salieciet savus dev muskuļus.

Iegūstiet savu kopiju no https://www.packtpub.com/application-development/go-programming-blueprints-second-edition

Ja jūs iestrēdzat, arī čiviniet mani @matryer, un es redzēšu, vai varu palīdzēt.