Hur man hostar en statisk webbplats med Yandex.Cloud Object Storage

Hej, Habr!

I den hÀr artikeln kommer jag att berÀtta hur enkelt och smidigt du kan publicera en statisk webbplats med hjÀlp av Yandex-teknologier, nÀmligen Object Storage.

I slutet kommer du att ha en webbplats som Àr publicerad pÄ nÀtet och som kommer att vara tillgÀnglig via en extern lÀnk.

Denna artikel kommer att vara anvÀndbar om du Àr

  • En nybörjande utvecklare som just lĂ€r sig programmering;
  • En utvecklare som har gjort en portfolio och vill publicera den offentligt för att visa sina vĂ€nner och arbetsgivare.

Om mig

Nyligen arbetade jag pÄ en SaaS-tjÀnst, en typ av marknadsplats dÀr mÀnniskor kan hitta sporttrÀnare för personliga trÀningar. Jag anvÀnde Amazon Web Services (AWS). Men ju mer jag fördjupade mig i projektet, desto fler nyanser lÀrde jag mig om olika processer i att organisera en startup.

Jag stötte pÄ följande problem:

  • AWS kostade mycket pengar. Efter att ha arbetat i tre Ă„r pĂ„ företag i Enterprise-sektorn var jag van vid sĂ„dana fördelar som Docker, Kubernetes, CI/CD, blue-green deployment, och som en nybörjande programmerare och startup-grundare ville jag ocksĂ„ implementera samma sak. Till slut kom jag fram till att AWS kostade mig mellan 300-400 dollar varje mĂ„nad. Den dyraste kostnaden var Kubernetes, omkring 100 dollar, med en minimal setup med en kluster och en nod.
    P.S. I början behöver man inte göra sÄ.
  • Sedan, nĂ€r jag tĂ€nkte pĂ„ de juridiska aspekterna, fick jag veta om lag 152-FZ, som ungefĂ€r sa följande: "Personuppgifter för medborgare i Ryssland ska lagras inom Rysslands territorium", annars kan det bli böter, vilket jag ville undvika. Jag bestĂ€mde mig för att hantera dessa frĂ„gor innan "det kom nerifrĂ„n". :)

Inspirerad artikeln av att migrera infrastrukturen frÄn Amazon Web Services till Yandex.Cloud, bestÀmde jag mig för att studera Yandex-stacken mer ingÄende.

För mig var de nyckelfunktioner som Yandex.Cloud erbjöd följande:

Jag undersökte andra konkurrenter till denna tjÀnst, men dÄ vann Yandex.

Nu nÀr jag har pratat om mig sjÀlv, lÄt oss gÄ vidare till sakfrÄgan.

Steg 0. Förbered webbplatsen

För att börja behöver vi en webbplats som vi vill publicera pÄ internet. Eftersom jag Àr Angular-utvecklare kommer jag att skapa en enkel mall för en SPA-applikation som jag senare kommer att publicera pÄ nÀtet.

P.S. Den som förstÄr sig pÄ Angular eller kÀnner till dess dokumentation https://angular.io/guide/setup-local, kan gÄ till Steg 1.

Installera Angular-CLI för att skapa SPA-webbplatser i Angular:

npm install -g @angular/cli

Vi skapar en Angular-applikation med följande kommando:

ng new angular-habr-object-storage

DÀrefter gÄr vi till applikationens mapp och startar den för att kontrollera dess funktionalitet:

cd angular-habr-object-storage
ng serve --open

Hur man hostar en statisk webbplats med Yandex.Cloud Object Storage

Applikationen har skapats, men Àr Ànnu inte redo att publiceras pÄ en webbhotell. Vi ska bygga applikationen till en liten produktionsversion för att ta bort överflödiga filer och spara enbart de nödvÀndiga.
I Angular kan detta göras med följande kommando:

ng build --prod

Som ett resultat av detta kommando skapades en mapp i roten av applikationen dist med vÄr webbplats.

Det fungerar. Nu gÄr vi vidare till webbhotell.

Step 1.

GÄ till webbplatsen https://console.cloud.yandex.ru/ och klickar pÄ knappen "Anslut".

AnmÀrkning:

  • För att anvĂ€nda Yandex-tjĂ€nsten kan det behövas ett Yandex-e-postkonto (men det Ă€r inte sĂ€kert)
  • För vissa funktioner mĂ„ste vi sĂ€tta in pengar pĂ„ kontot i det personliga omrĂ„det (minst 500 rubel).

Efter framgÄngsrik registrering och inloggning Àr vi i det personliga omrÄdet.

Hur man hostar en statisk webbplats med Yandex.Cloud Object Storage

DÀrefter mÄste vi i menyn till vÀnster hitta tjÀnsten "Object Storage", som vi precis kommer att anvÀnda för att hosta webbplatsen.

Kort om termer:

  • Object Storage Ă€r en fil lagringslösning som Ă€r kompatibel med Amazons AWS S3-teknologi, vilken ocksĂ„ har sitt eget API för att hantera lagringen frĂ„n koden och som, precis som AWS S3, kan anvĂ€ndas för att hosta en statisk webbplats.
  • I Object Storage skapar vi "buckets" (bucket / Korv), som Ă€r separata lagringsenheter för vĂ„ra filer.

Hur man hostar en statisk webbplats med Yandex.Cloud Object Storage

Vi ska skapa en av dem. För detta klickar vi pÄ knappen "Skapa bucket" i tjÀnstens konsol.

Hur man hostar en statisk webbplats med Yandex.Cloud Object Storage

I formulÀret för att skapa en bucket finns följande fÀlt, lÄt oss gÄ igenom dem:

  • Bucketnamn. För enkelhetens skull, namnge den samma som Angular-projektet — angular-habr-object-storage
  • Max. storlek. Vi anger det belopp som vĂ„r webbplats vĂ€ger, eftersom webbplatsen inte lagras gratis och för varje tilldelad gigabyte kommer vi att betala Yandex en liten summa.
  • Åtkomst för att lĂ€sa objekt. Vi stĂ€ller in det som "Offentlig", eftersom anvĂ€ndaren mĂ„ste kunna hĂ€mta varje fil frĂ„n vĂ„r statiska webbplats för att layouten ska Ă„terges korrekt och skripten fungerar osv.
  • Åtkomst till objektlistan och Åtkomst för att lĂ€sa instĂ€llningar. Vi lĂ€mnar det som "BegrĂ€nsad". Detta Ă€r nödvĂ€ndigt för att kunna anvĂ€nda bucketen som intern lagring för filer för applikationer.
  • Lagringsklass. Vi lĂ€mnar "Standard". Det betyder att vĂ„r webbplats kommer att besökas ofta, och dĂ€rmed laddas ner filer som utgör webbplatsen. Dessutom pĂ„verkar detta punkt prestanda och kostnad (infoga lĂ€nk).

Vi trycker pÄ "Skapa bÀdd" och bÀdden Àr skapad.

Hur man hostar en statisk webbplats med Yandex.Cloud Object Storage

Nu behöver vi ladda upp vÄr webbplats till bÀdden. Det enklaste sÀttet Àr att öppna en mapp vid sidan av dist vÄr webbplats och helt enkelt dra och slÀppa direkt pÄ sidan. Det Àr lÀttare Àn att trycka pÄ knappen "Ladda upp objekt", eftersom mappar inte flyttas pÄ det sÀttet och de mÄste skapas manuellt i rÀtt ordning.

Hur man hostar en statisk webbplats med Yandex.Cloud Object Storage

SÄ, webbplatsen har laddats upp till lagringen, nu kan vi ge anvÀndarna möjlighet att komma Ät lagringen som en webbplats.
För detta klickar vi pÄ fliken "Webbplats" till vÀnster i menyn.

Hur man hostar en statisk webbplats med Yandex.Cloud Object Storage

PÄ sidan för att stÀlla in bÀdden som webbplats, vÀljer vi fliken "Hosting". HÀr anger vi startsidan för webbplatsen, vanligtvis index.html. Om du har en SPA-applikation, sÄ hanteras alla fel sannolikt ocksÄ pÄ startsidan, sÄ vi anger Àven index.html pÄ fel sidan.

Vi ser direkt vilken lÀnk som kommer att vara tillgÀnglig för vÄr webbplats. Vi klickar pÄ spara.

Efter ungefÀr 5 minuter, nÀr vi gÄr till lÀnken, ser vi att vÄr webbplats nu Àr tillgÀnglig för alla som vill.

Hur man hostar en statisk webbplats med Yandex.Cloud Object Storage

Tack till alla som lÀste till slut! Det hÀr Àr min första artikel, jag planerar att beskriva andra Yandex-tjÀnster och deras integration med frontend- och backend-teknologier.

Skriv i kommentarerna hur intressant det Àr för er att veta mer om andra Yandex-tjÀnster eller om anvÀndningen av Angular i modern utveckling.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster