Ubuntu 20.04-de Nginx Serwer Bloklaryny (Wirtual Hostlar) nädip düzmeli


Käwagt, Nginx web serweriňizde birden köp domen ýa-da web sahypasyny ýerleşdirmeli bolmagyňyz mümkin. Munuň amala aşmagy üçin, domeniňiziň ähli konfigurasiýasyny jemlemek üçin Serwer Blokyny (Wirtual Hostlar) düzmeli. Nginx serwer bloklary Apache wirtual host faýllary bilen manydaş we şol bir maksat bilen hyzmat edýär.

Bu mowzuk, Ubuntu 20.04-de Nginx serwer blokuny nädip gurmalydygyny görkezýär.

  • Domen adyňyzy hosting üpjün edijiňizde kesgitlenen A ýazgy. A ýazgy, domen adyny Jemgyýetçilik serweriniň IP adresine görkezýän DNS ýazgysydyr. Bu gollanma üçin, crazytechgeek.info domen adyny suratlandyryş maksatlary üçin ulanarys.
  • Ubuntu 20.04 LTS mysalynda gurlan LEMP Stack.
  • Sudo aýratynlyklary bolan giriş ulanyjy.

Requirementshli talaplar ýerine ýetirilenden soň, Ubuntu-da Nginx serwer blokuny nädip gurup boljakdygyny öwreneliň.

1-nji ädim: Nginx resminama kök katalogyny dörediň

Başlamak üçin, domenimiz bilen baglanyşykly ähli sazlamalary öz içine alýan aýratyn katalog dörederis.

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

Ondan soň, $ USER gurşaw üýtgeýjisini ulanyp, bukjanyň eýeçiligini belläň. Bu, häzirki hasaba alnan ulanyja katalogyň eýeçiligini belleýär. Kök ýaly däl-de, adaty ulanyjy hasabyny ulanyp girendigiňize göz ýetiriň.

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

Ondan soň, hasaba giren ulanyja ähli hukuklary (okamak, ýazmak we ýerine ýetirmek) beriň we topar we beýleki ulanyjylar diňe rugsatlary okaýarlar we ýerine ýetirýärler, kataloga degişli rugsatlary beriň.

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

Katalog rugsatlary we eýeçilik hukugy dogry düzülensoň, domen üçin web sahypasyny döretmeli.

2-nji ädim: Domen üçin nusga sahypasyny dörediň

Bu ädimde synag maksatly index.html faýly dörederis. Bu faýl, brauzerde domen çagyrylanda web brauzerinde görkeziljek mazmuna hyzmat eder.

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

Aşakdaky HTML mazmunyny goýuň.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
  <h1>Bravo! Your server block is working as expected!</h1>
    </body>
</html>

Sazlama faýly ýazdyryň we çykyň.

3-nji ädim: Ubuntu-da Nginx Serwer Blokyny dörediň

Nginx serwer bloklary /etc/nginx/sites-available katalogynda ýerleşýär. Adaty Nginx serwer bloky /var/www/html/index.nginx-debian.html salgysynda HTML faýlyna hyzmat edýän /etc/nginx/sites-available/default .

Biziň ýagdaýymyz üçin, ozal döreden index.html faýlyndaky mazmuna hyzmat etjek serwer blokyny döretmeli.

Şeýlelik bilen, görkezilen serwer blok faýlyny dörediň.

$ sudo vim /etc/nginx/sites-available/crazytechgeek.info

Mazmuny aşakda goýuň:

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;

}

Faýly ýazdyryň we çykyň.

4-nji ädim: Ubuntu-da Nginx Server Blokyny açyň

Nginx serwer blokuny işletmek üçin ony görkezilişi ýaly /etc/nginx/sites -abled/ katalogyna birikdirmeli.

$ sudo ln -s /etc/nginx/sites-available/crazytechgeek.info /etc/nginx/sites-enabled/

Şu wagt biz gaty köp iş bitirdik. Şeýle-de bolsa, ähli konfigurasiýalaryň tertiplidigini tassyklamak paýhaslydyr. Munuň üçin buýrugy ýerine ýetiriň:

$ sudo nginx -t

Biziň ädimlerimizi dogry ýerine ýetiren bolsaňyz, çykyşy görkezmeli:

Ahyrynda, konfigurasiýa faýllaryna girizilen üýtgeşmeleriň güýje girmegi üçin Nginx-i täzeden açyň.

$ sudo systemctl restart Nginx

Soňra görkezilen buýrugy ýerine ýetirip, Nginx-iň işleýändigini tassyklaň:

$ sudo systemctl status Nginx

5-nji ädim: Ubuntu-da Nginx Serwer Blokyny barlamak

Serwer blokynyň garaşylşy ýaly işleýändigini we /var/www/crazytechgeek.info katalogynda mazmuna hyzmat edýändigini ýa-da ýokdugyny tassyklamak üçin web brauzeriňizi açyň we serweriňiziň domen adyna göz aýlaň:

http://domain-name

Görkezilişi ýaly serwer blokyňyzdaky HTML faýlyndaky mazmuny almaly.

Bu gollanmada, Ubuntu Linux-da ýekeje domen ulanyp, Nginx serwer blokuny nädip gurmalydygyny görkezdik. Dürli domenler üçin şol bir ädimleri gaýtalap bilersiňiz we şol bir netijelere ýetip bilersiňiz. Gollanmanyň paýhaslydygyna umyt edýäris.