Ubuntu 20.04-de Nginx web serwerini nädip gurmaly


Nginx, açyk gurşawly, ýokary öndürijilikli web serweri bolup, önümçilik gurşawynda uly bazar paýyny buýurýar. Köplenç ýokary traffikli web sahypalaryny ýerleşdirmekde ulanylýan ýeňil we ygtybarly web serweri.

Degişli oka: Ubuntu 20.04-de Apache web serwerini nädip gurmaly

Bu gollanmada, Nginx web serwerini nädip gurmalydygyny we Ubuntu 20.04 LTS-de Nginx serwer blokuny (wirtual hostlary) sazlamagy öwrenersiňiz.

Başlamak üçin, SSH girişi bolan Ubuntu 20.04 LTS we kök aýratynlyklary bolan Sudo ulanyjysynyň bardygyna göz ýetiriň. Mundan başga-da, Nginx paketlerini gurmak üçin durnukly internet birikmesi maslahat berilýär.

Ubuntu 20.04-de Nginx gurmak

1. Nginx gurmazdan ozal serweriňiziň paket sanawlaryny täzeläň.

$ sudo apt update

2. Soňra buýrugy işledip Nginx guruň:

$ sudo apt install nginx

Dowam etmegi haýyş edilende, klawiaturadaky Y basyň we ENTER basyň. Gurnamak birnäçe sekundyň içinde amala aşyrylar.

3. Nginx üstünlikli gurlup, ony işledip başlap we barlap bilersiňiz:

$ sudo systemctl start nginx
$ sudo systemctl status nginx

Aboveokardaky çykyş Nginx-iň işleýändigini açyk görkezýär.

4. Nginx wersiýasyny barlamak üçin işlediň:

$ sudo dpkg -l nginx

Çykyş, bu makalany ýazan wagtymyzyň iň soňky wersiýasy bolan Nginx 1.17.10 işleýändigimizi görkezýär.

UFW Firewall-da Nginx portlaryny açyň

Indi Nginx gurnalan we garaşylşy ýaly işleýän bolsaňyz, Nginx-iň web brauzeri arkaly girmegi üçin birnäçe düzediş gerek. UFW gorag diwaryny işleýän bolsaňyz, Nginx programma profiline rugsat bermeli.

Ufw firewall bilen baglanyşykly 3 sany Nginx profil bar.

  1. Nginx Full - Bu 80 we 443 portlaryň ikisini hem açýar (SSL/TLS şifrlemek üçin).
  2. Nginx HTTP - Bu diňe 80-nji porty açýar (Şifrlenen web traffigi üçin).
  3. Nginx HTTPS - Diňe 443 porty açýar (SSL/TLS şifrlemek üçin).

5. Ubuntu 20.04-de gorag diwaryny açyp başlaň.

$ sudo ufw enable

6. Häzirlikçe, kodlanan serwerde däldigimiz üçin, diňe 80-nji portda traffige rugsat berýän Nginx HTTP profiline rugsat bereris.

$ sudo ufw allow 'Nginx HTTP'

7. Soňra üýtgeşmeleriň dowam etmegi üçin gorag diwaryny täzeden açyň.

$ sudo ufw reload

8. Indi rugsat berlen profilleri barlamak üçin gorag diwarynyň ýagdaýyny barlaň.

$ sudo ufw status

Ubuntu 20.04-de Nginx-i barlamak

Nginx, islendik web serwerinde garaşyşyňyz ýaly brauzerde işleýär we garaşylşy ýaly işleýändigini barlamagyň iň ygtybarly usuly, brauzer arkaly haýyşlary ibermekdir.

9. Şonuň üçin brauzeriňize çykyň we serweriň IP adresine ýa-da domen adyna göz aýlaň. Serweriňiziň IP-ni barlamak üçin ifconfig buýrugyny işlediň:

$ ifconfig

10. Bulut serwerinde bolsaňyz, serweriň umumy IP-ni almak üçin aşakdaky curl buýrugyny işlediň.

$ curl ifconfig.me

11. Brauzeriňiziň URL meýdanyna serweriňiziň IP adresini ýa-da domen adyny giriziň we ENTER basyň.

http://server-IP or domain-name

Görkezilişi ýaly adaty Nginx hoş geldiňiz sahypasyny almaly.

Ubuntu 20.04-de Nginx amalyny dolandyryň

12. Nginx web serwerini duruzmak üçin ýönekeý işlediň:

$ sudo systemctl stop nginx

13. Web serwerini täzeden açmak üçin ýerine ýetiriň:

$ sudo systemctl start nginx

14. Nginx-i awtomatiki usulda açmak ýa-da gaýtadan açmak üçin:

$ sudo systemctl enable nginx

15. Web serwerini esasanam konfigurasiýa faýllaryna üýtgetmeler girizeniňizden soň täzeden açmak isleseňiz, işlediň:

$ sudo systemctl restart nginx

16. ativea-da bolmasa, görkezilişi ýaly birikmeleriň gaçmazlygy üçin täzeden ýükläp bilersiňiz.

$ sudo systemctl reload nginx

Ubuntu 20.04-de Nginx Serwer Blokyny sazlamak

Serweriňizde birden köp sahypa ýerleşdirmegi meýilleşdirýän bolsaňyz, Nginx Server blokuny gurmak maslahat berilýär. Serwer bloky Apache-iň wirtual hostyna deňdir.

Düzgüne görä, Nginx /var/www/html ýolunda web mazmunyna hyzmat etmek üçin bellenen serwer bloky bilen iberilýär.

Domenimiziň mazmunyna hyzmat etmek üçin aýratyn Nginx blok dörederis. Bu gollanma üçin crazytechgeek.info domenini ulanarys.
Mysal üçin, muny öz domen adyňyz bilen çalyşmagyňyzy üpjün ediň.

17. Serwer blok faýly döretmek üçin Ilki bilen, domeniňiziň görkezilişi ýaly katalog dörediň.

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

18. Ondan soň, $USER üýtgeýjisini ulanyp, täze kataloga eýeçiligi belläň.

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

19. Şeýle hem, eýesine ähli rugsatlara eýe bolmak (okamak, ýazmak we ýerine ýetirmek) we beýleki taraplara diňe okamak we ýerine ýetirmek üçin rugsat berýän katalog rugsatlaryny berýändigiňize göz ýetiriň.

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

20. Domen katalogynyň içinde domeniň web mazmunyny öz içine alýan bir faýl dörediň index.html .

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

Aşakdaky mazmuny synag synag faýlyna goýuň.

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

Üýtgeşmeleri ýazdyryň we faýldan çykyň.

21. Nginx web serweriniň ýaňy goşan mazmunyňyza hyzmat etmegi üçin degişli görkezmeler bilen serwer blokuny döretmeli. Bu ýagdaýda täze serwer blokuny döretdik:

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

Görkezilen konfigurasiýany 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;
        }
}

Saklaň we çykyň.

22. Indi serwer blok faýlyny, Nginx serweriniň başlangyçda okaýan sahypalary bilen işleýän katalogyna birikdirip işlediň.

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

23. Üýtgeşmeleriň amala aşyrylmagy üçin Nginx web serwerini täzeden açyň.

$ sudo systemctl restart nginx

24. justhli konfigurasiýalaryň tertiplidigine göz ýetirmek üçin buýrugy işlediň:

$ nginx -t

Allhli konfigurasiýalar tertipli bolsa, aşakda görkezilen çykyşy almaly:

25. Nginx web serweri indi domeniňiziň mazmunyna hyzmat etmeli. Againene bir gezek brauzeriňize çykyň we serweriňiziň domenine göz aýlaň.

http://domain-name

Domeniňiziň katalogyndaky aýratyn mazmunyňyz görkezilişi ýaly hyzmat ediler.

Möhüm Nginx konfigurasiýa faýllary

Gaplamazdan ozal, Nginx bilen baglanyşykly käbir möhüm konfigurasiýa faýllaryny gözden geçirmek möhümdir.

  • /etc/nginx/nginx.conf: Bu esasy konfigurasiýa faýly. Serweriňiziň talaplaryna laýyk gelýän sazlamalary üýtgedip bilersiňiz.
  • /etc/nginx/sites-available: Bu serwer blok konfigurasiýasyny saklaýan katalog. Nginx, diňe saýtlar bilen işleýän katalog bilen baglanyşykly bolsa, serwer bloklaryny ulanýar.
  • /etc/nginx/saýtlar bilen işleýän: Katalogda bir sahypada eýýäm işledilen Nginx serwer bloklary bar.

Nginx web serweriňizi näsazlyklary düzetmek üçin ulanyp boljak iki sany esasy faýl bar:

  • /var/log/nginx/access.log: Bu web serwerine edilen ähli islegleri hasaba alýar.
  • /var/log/nginx/error.log: Bu säwlik ýazgy faýly we Nginx-de ýüze çykan ähli ýalňyşlyklary ýazga alýar.

Bu gollanmanyň soňuna ýetdik. Ubuntu 20.04-de Nginx-i nädip gurnap boljakdygyny we domeniňiziň mazmunyna hyzmat etmek üçin Nginx serwer bloklaryny nädip gurup boljakdygyny görkezdik. Pikirleriňiz hoş geldiňiz.