Settu upp Nginx netþjónablokkir (Virtual Hosts) á CentOS/RHEL 8


Nginx netþjónablokk er ígildi Apache sýndargestgjafa og gerir þér kleift að hýsa fleiri en eitt lén eða vefsíðu á netþjóninum þínum.

Í þessari grein muntu læra hvernig á að setja upp Nginx netþjónablokkir (sýndarhýsingar) á CentOS 8 og RHEL 8 Linux.

  • A skrá fyrir lénið þitt. Í einföldu máli vísar A skrár til DNS færslu þar sem lénið er bent á opinbera IP þjónsins, í þessu tilviki Nginx vefþjóninn. Í þessari handbók munum við nota lénið crazytechgeek.info.
  • LEMP stafla settur upp á CentOS 8 eða RHEL 8 tilviki.
  • Innskráningarnotandi með Sudo réttindi.

Byrjum!

Skref 1: Búðu til Nginx Document Root Directory

Strax þarftu að búa til sérsniðna vefrótarskrá fyrir lénið sem þú vilt hýsa. Fyrir okkar tilvik munum við búa til möppuna eins og sýnt er með mkdir -p valkostinum til að búa til allar nauðsynlegar móðurskrár:

$ sudo mkdir -p /var/www/crazytechgeek.info/html

Úthlutaðu síðan möppuheimildum með því að nota $USER umhverfisbreytuna. Þegar þú gerir það skaltu ganga úr skugga um að þú sért skráður inn sem venjulegur notandi en ekki rótnotandinn.

$ sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

Næst skaltu úthluta réttum möppuheimildum endurkvæmt eins og sýnt er:

$ sudo chmod -R 755 /var/www/crazytechgeek.info/html

Skref 2: Búðu til sýnishorn fyrir lénið

Næst ætlum við að búa til index.html skrá inni í sérsniðnu vefrótarskránni sem verður þjónað af léninu þegar beiðni er lögð fram.

$ sudo vim /var/www/crazytechgeek.info/html/index.html

Límdu eftirfarandi sýnishorn inn í skrána.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
  <h1>Awesome! Your Nginx server block is working!</h1>
    </body>
</html>

Vistaðu og lokaðu stillingarskránni.

Skref 3: Búðu til Nginx netþjónablokk í CentOS

Til að Nginx vefþjónninn geti þjónað innihaldinu í index.html skránni sem við bjuggum til í skrefi 2, þurfum við að búa til netþjónablokkaskrá með viðeigandi tilskipunum. Þess vegna munum við búa til nýjan netþjónablokk á:

$ sudo vim /etc/nginx/conf.d/crazytechgeek.info.conf

Næst skaltu líma uppsetninguna sem birtist hér að neðan.

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

        root /var/www/crazytechgeek.info/html;
        index index.html index.htm index.nginx-debian.html;

        server_name crazytechgeek.info www.crazytechgeek.info;

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

		
    access_log /var/log/nginx/crazytechgeek.info.access.log;
    error_log /var/log/nginx/crazytechgeek.info.error.log;

}

Þegar þú ert búinn skaltu vista breytingarnar og hætta í stillingarskránni. Til að staðfesta að allar Nginx stillingar séu hljóðar og villulausar skaltu framkvæma skipunina:

$ sudo nginx -t

Úttakið hér að neðan ætti að vera staðfesting á því að þú sért vel að fara!

Að lokum skaltu endurræsa Nginx vefþjóninn þinn og staðfesta að hann gangi eins og búist var við:

$ sudo systemctl restart nginx
$ sudo systemctl status nginx

Skref 4: Prófaðu Nginx Server Block í CentOS

Við erum öll búin með stillingarnar. Eini hlutinn sem er eftir er að staðfesta hvort netþjónablokkin okkar sé að þjóna efni í rótarskránni sem var skilgreind fyrr í index.html skránni.

Til að gera þetta skaltu einfaldlega opna vafrann þinn og fara á lén netþjónsins eins og sýnt er:

http://domain-name

Eins og fram hefur komið er efnið okkar þjónað af netþjónablokkinni, skýr vísbending um að allt hafi gengið vel.

Skref 5: Virkjaðu HTTPS á léni sem hýst er á Nginx

Þú gætir íhugað að dulkóða lénið þitt með Lets Encrypt SSL til að bæta við verndarlagi og öruggri umferð til og frá vefþjóninum.

$ sudo dnf install certbot python3-certbot-nginx
$ sudo certbot --nginx

Til að staðfesta að lénið þitt sé rétt stillt á HTTPS skaltu fara á https://yourwebsite.com/ í vafranum þínum og leita að lástákninu á vefslóðastikunni.

Við höfum sett upp Nginx netþjónablokk á CentOS 8 og RHEL 8. Þú getur endurtekið það sama fyrir mörg lén með sömu aðferð.