Settu upp Nginx með netþjónablokkum (Virtual Hosts) á Debian 10


Nginx er mjög vinsæll afkastamikill vefþjónn sem sameinar kraft öfugs umboðs, álagsjafnvægis, skyndiminni og svo margt fleira. Það fer eftir því hvernig það er stillt, það getur virkað sem öfugt umboð sem og álagsjafnari fyrir HTTP/HTTPS netþjóna.

Nginx vefþjónn hefur stórkostlega getu til að þjóna þúsundum samhliða tenginga og þetta gerir hann að hraðskreiðasta vefþjóninum, sem knýr meira en helming af fjölförnustu síðum heimsins. Þar á meðal eru Netflix, DuckDuckGo og DropBox svo aðeins sé nefnt.

Í þessari kennslu munum við leiða þig í gegnum skrefin um hvernig á að setja upp Nginx með sýndarhýsingum til að hýsa mörg lén á Debian 10 netþjóni.

Áður en við byrjum skaltu ganga úr skugga um að eftirfarandi kröfur séu uppfylltar:

  1. Tilvik af Debian 10.
  2. Fullu lénsheiti (FQDN) sem bendir á netþjóninn.
  3. Í þessari handbók notum við lénið linux-console.net sem bendir á Debian 10 kerfi með IP tölu 192.168.0.104.
  4. Góð nettenging.

Skref 1: Uppfærðu Debian 10 pakkageymsluna

Áður en nokkuð annað verðum við að uppfæra staðbundna pakkageymsluna okkar í nýjustu útgáfurnar. Til að ná þessu skaltu skrá þig inn sem venjulegur notandi með sudo réttindi og keyra skipunina hér að neðan.

$ sudo apt update -y

Skref 2: Settu upp Nginx á Debian 10

Þar sem Nginx er til staðar í geymslum Debian, getum við auðveldlega haldið áfram og sett það upp með því að nota viðeigandi pakkastjóra sem fylgir Debian.

$ sudo apt install nginx -y

Skref 3: Athugaðu stöðu Nginx vefþjónsins

Ef þú rakst engar villur, þá tókst að setja upp Nginx vefþjón. Það er skynsamlegt að staðfesta stöðu vefþjónsins áður en þú gerir frekari stillingar.

Til að athuga stöðu Nginx skaltu framkvæma:

$ systemctl status nginx

Ef vefþjónninn er í gangi færðu tilkynninguna hér að neðan.

Ef þú vilt endurræsa Nginx vefþjóninn skaltu keyra skipunina.

$ systemctl restart nginx

Til að stöðva Nginx skaltu gefa út skipunina.

$ systemctl stop nginx

Til að ræsa vefþjóninn skaltu keyra.

$ systemctl start nginx

Til að stilla Nginx vefþjón til að byrja á ræsingu.

$ systemctl enable nginx

Skref 4: Stilltu eldvegginn til að opna Nginx Port

Þegar Nginx hefur verið sett upp og keyrt, þurfum við að leyfa vefaðgang að þjónustunni, sérstaklega utanaðkomandi notendum. Ef þú ert með UFW eldvegg virkan þarftu að leyfa HTTP aðgang í gegnum eldvegginn.

Til að ná þessu skaltu framkvæma skipunina.

$ sudo ufw allow 'Nginx HTTP'

Næst skaltu endurhlaða eldveggnum til að framkvæma breytingarnar.

$ sudo ufw reload

Frábært, nú geturðu staðfest að HTTP sé leyft í gegnum eldvegginn með því að keyra.

$ sudo ufw status

Af brotinu hér að ofan getum við greinilega séð að Nginx HTTP hefur verið leyft í gegnum UFW eldvegginn.

Skref 5: Aðgangur að Nginx vefþjóni

Við höfum hingað til gert grunnstillingarnar til að koma Nginx í gang. Til að fá aðgang að vefþjóninum í gegnum vafrann skaltu skoða IP tölu netþjónsins eins og sýnt er.

http://server-IP-address

Þetta er staðfesting á því að Nginx sé í gangi.

Skref 6: Stilla Nginx netþjónablokkir á Debian 10

Þetta er valfrjálst skref og er gagnlegt þegar þú vilt hýsa mörg lén á Nginx vefþjóni. Til að þetta virki þarftu að hafa lén sem vísað er á Debian netþjóninn þinn.

Fyrir þennan hluta munum við nota lénið linux-console.net sem er A skrá sem vísar á IP 192.168.0.104 þjónsins.

Þegar þú bendir léninu á IP tölu netþjónsins þíns mun lénið fljótlega breytast og vísar á vefþjóninn þinn eins og sýnt er.

Við skulum nú búa til netþjónablokk.

Í fyrsta lagi skulum við búa til möppu fyrir lénið okkar eins og sýnt er.

$ sudo mkdir -p /var/www/html/linux-console.net

Úthlutaðu síðan nauðsynlegu skráareign eins og sýnt er.

$ sudo chown -R $USER:$USER /var/www/html/linux-console.net

Næst skaltu úthluta les- og framkvæmdaheimildum til hóps og almenningsnotenda eins og sýnt er.

$ sudo chmod -R 755 /var/www/html/linux-console.net

Við skulum nú búa til einfalda index.html sýnishorn vefsíðu með vim textaritli.

$ sudo vim /var/www/html/linux-console.net/index.html

Bættu sýnishorni við skrána. Þetta mun birtast í vafranum.

<html>
    <head>
        <title>Welcome to Linux geeks</title>
    </head>
    <body>
        <h1>Success! Welcome to your new server block on Tecmint Nginx Web Server !</h1>
    </body>
</html>

Vistaðu og farðu úr ritlinum

Til að þetta efni sé þjónað þarf að búa til netþjónablokk.

Við skulum búa til netþjónablokk

$ vim  /etc/nginx/sites-available/linux-console.net

Afritaðu og límdu eftirfarandi efni inn í netþjónablokkaskrána.

server {
        listen 80;
        listen [::]:80;

        root /var/www/html/linux-console.net;
        index index.html index.htm index.nginx-debian.html;

        server_name linux-console.net linux-console.net;

        location / {
                try_files $uri $uri/ =404;
        }
}

Vertu viss um að uppfæra lénið linux-console.net með þínu eigin lén.

Til að virkja eða virkja netþjónsblokkaskrána skaltu búa til táknrænan hlekk eins og sýnt er.

$ sudo ln -s /etc/nginx/sites-available/linux-console.net /etc/nginx/sites-enabled/

Til að ganga úr skugga um að allar stillingar í Nginx séu rétt stilltar skaltu keyra.

$ sudo nginx -t

Frábært, við erum vel að fara! Endurræstu loksins Nginx.

$ sudo systemctl restart nginx

Farðu út í vafrann þinn og endurnýjaðu og ef allt gekk vel ætti vafrinn að þjóna vefsíðunni þinni fyrir netþjónablokk eins og sýnt er.

Skref 7: Aðgangur að Nginx Log Files

Farðu í skrána hér að neðan til að fá aðgang að annálsskrám um beiðnir sem gerðar eru á netþjóninn þinn.

$ sudo vim /var/log/nginx/access.log 

Ef þú rekst á villur á Nginx vefþjóninum þínum skaltu skoða skrána fyrir villur.

$ sudo vim /var/log/nginx/error.log

Í þessari handbók lærðir þú hvernig á að setja upp Nginx á Debian 10 tilvikinu þínu og stilla það frekar til að styðja við fleiri lén. Við vonum að þér hafi fundist þessi handbók innsýn. Viðbrögð þín verða vel þegin..