Ngarkoni balancën me Docker

Ngarkoni balancën me Docker

Kur ekzekutoni një aplikacion në ueb, zakonisht dëshironi të përfitoni sa më shumë nga burimet tuaja pa pasur nevojë të konvertoni softuerin tuaj për të përdorur ciklin e ngjarjeve me shumë fije ose komplekse. Docker, megjithatë, ofron një mënyrë të thjeshtë që ju të ngarkoni balancën e aplikacionit tuaj brenda për të përfituar sa më shumë nga burimet e serverit. Ky artikull do t'ju tregojë se si të përdorni Nginx për të ngarkuar balancën e aplikacionit tuaj të internetit duke përdorur Docker në CentOS.

Hapi 1: Krijoni një aplikacion të thjeshtë

Ne do të përdorim ndryshkun për të ndërtuar këtë aplikacion të thjeshtë. Duke supozuar se keni instaluar ndryshk, ekzekutoni cargo new webapp –bin. Pas suksesit, do të shihni një drejtori të quajtur webapp. Brenda webapp, do të shihni një skedar të quajtur Cargo.toml. Shtojini atij rreshtat e mëposhtëm:

[dependencies.iron]
version = "*"

Më pas, brenda src/main.rsskedarit, hiqni gjithçka dhe plotësoni atë me sa vijon:

extern crate iron;

use iron::prelude::*;
use iron::status;

fn main() {
    Iron::new(|_: &mut Request| {
        Ok(Response::with((status::Ok, "Hello Vultr :)")))
    }).http("0.0.0.0:3000").unwrap();
}

Shënim: Mos e ndryshoni IP-në brenda aplikacionit. Ky është konfiguruar në mënyrë që Docker të mund të dëgjojë aplikacionin tuaj.

Pasi të keni mbaruar, përpiloni aplikacionin duke ekzekutuar cargo build –release. Në varësi të serverit tuaj, mund të duhen disa minuta. Nëse nuk ka gabime, provoni aplikacionin duke ndjekur këto hapa:

  • Vraponi target/release/webapp.
  • Navigoni te http://0.0.0.0:3000/në shfletuesin tuaj. Zëvendësoni 0.0.0.0me adresën IP të serverit tuaj.

Nëse gjithçka funksionoi siç duhet, do të shihni "Hello Vultr :)" në faqe.

Hapi 2: Krijoni kontejnerë Docker

Krijoni një Dockerfiledhe plotësoni atë me sa vijon:

FROM centos:latest
MAINTAINER User <user@localhost>
RUN yum update -y
COPY ./webapp/target/release/webapp /opt/
EXPOSE 3000
WORKDIR /opt
CMD ./webapp

Ruani skedarin. Pastaj krijoni një skedar të quajtur deploy.shdhe plotësoni atë me sa vijon:

DEFAULT_PORT=45710
APP_PORT=3000
DEPLOY=5
NAME="webapp"
docker build -t webapp:example . 

for ((i=0; i<DEPLOY; i++)); do
        docker kill $NAME$i ; docker rm $NAME$i
        docker run --name $NAME$i -p 127.0.0.1:$(((i * 1000) + DEFAULT_PORT)):$APP_PORT -d webapp:example
done

Kur ekzekutoni këtë skript, ai do të ndërtojë imazhin dhe do të vendosë kontejnerin bazuar në sasinë që keni vendosur (parazgjedhja është 5). Nëse kontejneri ekziston, ai do ta vrasë dhe do ta heqë nga regjistri përpara se të vendoset përsëri.

Hapi 3: Konfiguro Nginx

Tani, krijoni një skedar konfigurimi Nginx dhe plotësoni atë me sa vijon:

upstream application {
    server localhost:45710;
    server localhost:46710;
    server localhost:47710;
    server localhost:48710;
    server localhost:49710;
}

server {
    listen 0.0.0.0:80;    
    location / {
    expires 1w;
        proxy_pass http://application;
        proxy_redirect off;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Zëvendësoni 0.0.0.0me adresën IP të serverit tuaj.

Rinisni Nginx duke bërë systemctl restart nginx. Zgjidhini çdo gabim, pastaj vazhdoni në hapin tjetër.

Hapi 4: Vendosni aplikacionin

Vendosni aplikacionin duke ekzekutuar bash ./deploy.sh.

Ju mund të kontrolloni statusin e aplikacionit tuaj me docker ps- do të krijohen 5 imazhe që fillojnë me webapp. Tani, lundroni te http://0.0.0.0:3000/në shfletuesin tuaj, do të shihni përsëri mesazhin "Përshëndetje, Vultr :)".

Pra, çfarë ndryshimi bën kjo, saktësisht?

Nëse kryeni një test standard kundrejt konfigurimit të balancuesit të ngarkesës, do të vini re se më shumë nga burimet e serverit tuaj po përdoren, gjë që do të dëshironit, veçanërisht nëse aplikacioni juaj është ndërtuar në gjuhë si Node ku normalisht do të ishte me një filetim të vetëm. Nëse ndonjëherë ju duhet të përditësoni aplikacionin tuaj, mund ta bëni këtë dhe ta ekzekutoni përsëri deploy.shpër të rindërtuar imazhin dhe për të vendosur kontejnerët tuaj.


Ja se si të shikoni kontejnerët Hyper-V në Windows 10 Insider

Ja se si të shikoni kontejnerët Hyper-V në Windows 10 Insider

Microsoft ka shpjeguar në një postim të ri në blog se si Windows Insiders mund të testojë kontejnerët Hyper-V në Windows 10, një zgjidhje e re virtualizimi për të lejuar që aplikacionet të funksionojnë pa ndikuar në pjesën tjetër të sistemit tuaj operativ.

Si të instaloni Harbor në CentOS 7

Si të instaloni Harbor në CentOS 7

Harbor është një server regjistri me burim të hapur të klasës së ndërmarrjes që ruan dhe shpërndan imazhet e Docker. Harbor zgjeron Shpërndarjen Docker me burim të hapur b

Instaloni Rancher OS nëpërmjet iPXE

Instaloni Rancher OS nëpërmjet iPXE

Rancher OS është një shpërndarje Linux shumë e lehtë e ndërtuar rreth Docker. Vetë OS peshon rreth 20 MB. Ky tutorial do t'ju vërë në punë

Në CoreOS, konfiguroni Regjistrin tuaj Docker

Në CoreOS, konfiguroni Regjistrin tuaj Docker

Ne të gjithë e njohim dhe e duam Docker, një platformë për të krijuar, menaxhuar dhe shpërndarë kontejnerë aplikacionesh nëpër makina të shumta. Docker Inc ofron një shërbim t

Instalimi i docker-compose në CoreOS

Instalimi i docker-compose në CoreOS

Ky artikull shpjegon se si të instaloni docker-compose në CoreOS. Në CoreOS, dosja /usr/ është e pandryshueshme kështu që shtegu standard /usr/local/bin nuk është i disponueshëm për

Instaloni Rancher në CentOS 7

Instaloni Rancher në CentOS 7

Përdorimi i një sistemi të ndryshëm? Hyrje Rancher është një platformë me burim të hapur për drejtimin e kontejnerëve dhe ndërtimin e një shërbimi privat të kontejnerëve. Rancher është bazë

Instaloni Docker CE në Ubuntu 18.04

Instaloni Docker CE në Ubuntu 18.04

Hyrje Docker është një aplikacion që na lejon të vendosim programe që ekzekutohen si kontejnerë. Është shkruar në gjuhën popullore të programimit Go

Krijo një Swarm Docker në Alpine Linux 3.9.0

Krijo një Swarm Docker në Alpine Linux 3.9.0

Hyrje Ky udhëzues do t'ju tregojë se si të krijoni dhe konfiguroni një tufë Docker duke përdorur shumë serverë Alpine Linux 3.9.0 dhe Portainer. Ju lutemi kini parasysh se

Vendosni një aplikacion PHP duke përdorur Docker-compose

Vendosni një aplikacion PHP duke përdorur Docker-compose

Aplikacionet PHP zakonisht përbëhen nga një server në internet, një sistem bazë të dhënash relacionale dhe vetë përkthyesi i gjuhës. Në këtë tutorial ne do të jemi leveragin

Ngarkoni balancën me Docker

Ngarkoni balancën me Docker

Kur ekzekutoni një aplikacion ueb, zakonisht dëshironi të përfitoni sa më shumë nga burimet tuaja pa pasur nevojë të konvertoni softuerin tuaj për të përdorur multithreading o

Vendosni një aplikacion Node.js duke përdorur Docker

Vendosni një aplikacion Node.js duke përdorur Docker

Ky artikull do t'ju tregojë se si të vendosni aplikacionin tuaj Node brenda një kontejneri Docker. Shënim: Ky udhëzues supozon që ju keni instaluar dhe lexuar Docker

Instalimi i Docker CE në CentOS 7

Instalimi i Docker CE në CentOS 7

Teknologjia e kontejnerëve Docker ju lejon të ekzekutoni aplikacione në një mjedis specifik dhe të izoluar. Docker Community Edition (CE) është emri i ri për fre

Instalimi i Docker në CentOS 7

Instalimi i Docker në CentOS 7

Përdorimi i një sistemi të ndryshëm? Docker është një aplikacion që lejon vendosjen e softuerit brenda kontejnerëve virtualë. Ishte shkruar në programin Go

Instalimi i Docker CE në Debian 9

Instalimi i Docker CE në Debian 9

Përdorimi i një sistemi të ndryshëm? Hyrje Docker është një aplikacion që lejon vendosjen e softuerit brenda kontejnerëve virtualë. Ishte shkruar në G

Filloni me SQL Server 2017 (MS-SQL) në CentOS 7 me Docker

Filloni me SQL Server 2017 (MS-SQL) në CentOS 7 me Docker

Parakushtet Docker engine 1.8+. Minimumi 4 GB hapësirë ​​në disk. Minimumi 4 GB RAM. Hapi 1. Instalo Docker Për të instaluar SQL-Server, Docker mus

Sesion ngjitës me Docker Swarm (CE) në Debian 9

Sesion ngjitës me Docker Swarm (CE) në Debian 9

Përdorimi i një sistemi të ndryshëm? Hyrje Docker Swarm i kthen serverët tuaj individualë në një grup kompjuterash; lehtësimi i shkallëzimit, disponueshmëria e lartë dhe

Dy Mjete Menaxhimi Grafik Docker: DockerUI dhe Kantieri i anijeve

Dy Mjete Menaxhimi Grafik Docker: DockerUI dhe Kantieri i anijeve

Me ndihmën e aplikacionit Vultr Docker, ju mund të vendosni lehtësisht Docker në shembullin e serverit tuaj Vultr. Ndërkohë, ju mund të lehtësoni detyrën e menaxhimit të Docker

Instaloni serverin Rancher në RancherOS

Instaloni serverin Rancher në RancherOS

Përmbledhje RancherOS është një sistem operativ tepër i lehtë (vetëm rreth 60 MB) që drejton një sistem Docker daemon si PID 0 për ekzekutimin e shërbimeve të sistemit

Fillimi me Kubernetes në CentOS 7

Fillimi me Kubernetes në CentOS 7

Kubernetes është një platformë me burim të hapur e zhvilluar nga Google për menaxhimin e aplikacioneve me kontejnerë nëpër një grup serverësh. Ajo ndërtohet mbi një dekadë dhe

Instaloni Rancher në Ubuntu 16.04

Instaloni Rancher në Ubuntu 16.04

Përdorimi i një sistemi të ndryshëm? Hyrje Rancher është një platformë me burim të hapur për drejtimin e kontejnerëve dhe ndërtimin e një shërbimi privat të kontejnerëve. Rancher është bazë

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë