Kaip įdiegti „Nginx“ žiniatinklio serverį „Ubuntu 20.04“.


Nginx yra atvirojo kodo, didelio našumo žiniatinklio serveris, užimantis didžiulę rinkos dalį gamybos aplinkoje. Tai lengvas ir tvirtas žiniatinklio serveris, dažniausiai naudojamas didelio srauto svetainėms priglobti.

Susijęs skaitymas: kaip įdiegti „Apache“ žiniatinklio serverį „Ubuntu 20.04“

Šiame vadove sužinosite, kaip įdiegti Nginx žiniatinklio serverį ir sukonfigūruoti Nginx serverio bloką (virtualiuosius pagrindinius kompiuterius) Ubuntu 20.04 LTS.

Būtinos sąlygos

Norėdami pradėti, įsitikinkite, kad turite Ubuntu 20.04 LTS egzempliorių su SSH prieiga ir Sudo vartotoją su root teisėmis. Be to, norint įdiegti Nginx paketus, rekomenduojamas stabilus interneto ryšys.

„Nginx“ diegimas „Ubuntu 20.04“.

1. Prieš diegdami Nginx, atnaujinkite serverio paketų sąrašus.

sudo apt update

2. Tada įdiekite Nginx vykdydami komandą:

sudo apt install nginx

Kai būsite paraginti tęsti, klaviatūroje paspauskite Y ir paspauskite ENTER. Diegimas bus atliktas vos per kelias sekundes.

3. Sėkmingai įdiegę Nginx, galite paleisti ir patvirtinti jį paleisdami:

sudo systemctl start nginx
sudo systemctl status nginx

Aukščiau pateikta išvestis aiškiai rodo, kad veikia Nginx.

4. Norėdami patikrinti Nginx versiją, paleiskite:

sudo dpkg -l nginx

Išvestis rodo, kad veikia Nginx 1.17.10, kuri yra naujausia šio straipsnio rengimo metu.

Atidarykite „Nginx“ prievadus UFW užkardoje

Dabar, kai Nginx įdiegėte ir veikia, kaip tikėjotės, reikia atlikti keletą koregavimų, kad Nginx būtų galima pasiekti per žiniatinklio naršyklę. Jei naudojate UFW užkardą, turite leisti Nginx programos profilį.

Yra 3 „Nginx“ profiliai, susieti su „ufw“ užkarda.

  1. Nginx Full – atidaromas ir 80, ir 443 prievadas (skirtas SSL/TLS šifravimui).
  2. Nginx HTTP – šis atviras tik prievadas 80 (skirtas nešifruotam žiniatinklio srautui).
  3. Nginx HTTPS – atidaromas tik prievadas 443 (skirtas SSL/TLS šifravimui).

5. Pradėkite įgalindami užkardą Ubuntu 20.04.


sudo ufw enable

6. Kol kas nesame šifruotame serveryje, todėl leisime tik Nginx HTTP profilį, kuris leis srautą per 80 prievadą .

sudo ufw allow 'Nginx HTTP'

7. Tada iš naujo įkelkite užkardą, kad pakeitimai išliktų.

sudo ufw reload

8. Dabar patikrinkite užkardos būseną, kad patvirtintumėte, kurie profiliai buvo leisti.

sudo ufw status

Nginx testavimas Ubuntu 20.04

Nginx veikia naršyklėje taip, kaip tikitės su bet kuriuo žiniatinklio serveriu, o patikimiausias būdas patikrinti, ar jis veikia taip, kaip tikėtasi, yra siųsti užklausas per naršyklę.

9. Taigi eikite į naršyklę ir naršykite serverio IP adresą arba domeno pavadinimą. Norėdami patikrinti savo serverio IP, paleiskite komandą ifconfig:

ifconfig

10. Jei naudojate debesies serverį, paleiskite toliau pateiktą curl komandą, kad gautumėte viešąjį serverio IP.

curl ifconfig.me

11. Naršyklės URL lauke įveskite serverio IP adresą arba domeno pavadinimą ir paspauskite ENTER.

http://server-IP or domain-name

Turėtumėte gauti numatytąjį Nginx pasveikinimo puslapį, kaip parodyta.

Tvarkykite Nginx procesą Ubuntu 20.04

12. Norėdami sustabdyti Nginx žiniatinklio serverį, tiesiog paleiskite:

sudo systemctl stop nginx

13. Norėdami vėl įjungti žiniatinklio serverį, vykdykite:

sudo systemctl start nginx

14. Jei norite automatiškai paleisti Nginx paleidžiant arba paleidžiant iš naujo:

sudo systemctl enable nginx

15. Jei norite iš naujo paleisti žiniatinklio serverį, ypač atlikę konfigūracijos failų pakeitimus, paleiskite:

sudo systemctl restart nginx

16. Arba galite įkelti iš naujo, kad nenutrūktų ryšiai, kaip parodyta.

sudo systemctl reload nginx

„Nginx“ serverio bloko konfigūravimas Ubuntu 20.04

Jei planuojate savo serveryje priglobti daugiau nei vieną svetainę, labai rekomenduojama nustatyti Nginx serverio bloką. Serverio blokas yra „Apache“ virtualaus pagrindinio kompiuterio atitikmuo.

Pagal numatytuosius nustatymus Nginx pristatomas su numatytuoju serverio bloku, kuris nustatytas teikti žiniatinklio turinį keliu /var/www/html.

Sukursime atskirą Nginx bloką, skirtą mūsų domeno turiniui teikti. Šiam vadovui naudosime domeną crazytechgeek.info.
Jūsų atveju būtinai pakeiskite jį savo domeno pavadinimu.

17. Norėdami sukurti serverio bloko failą, pirmiausia sukurkite domeno katalogą, kaip parodyta.

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

18. Tada priskirkite nuosavybės teisę naujam katalogui naudodami kintamąjį $USER.

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

19. Įsitikinkite, kad atitinkamai priskiriate ir katalogo leidimus, suteikdami savininkui visus leidimus (skaityti, rašyti ir vykdyti), o kitoms šalims suteikdami tik skaitymo ir vykdymo leidimus.

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

20. Domeno kataloge sukurkite index.html failą, kuriame bus domeno žiniatinklio turinys.

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

Įklijuokite toliau pateiktą turinį į pavyzdinį testavimo failą.

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

Išsaugokite pakeitimus ir išeikite iš failo.

21. Kad „Nginx“ žiniatinklio serveris teiktų ką tik pridėtą turinį, turite sukurti serverio bloką su atitinkamomis direktyvomis. Šiuo atveju sukūrėme naują serverio bloką adresu:

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

Įklijuokite parodytą konfigūraciją.

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;
        }
}

Išsaugoti ir išeiti.

22. Dabar įgalinkite serverio bloko failą, susiedami jį su įgalintos svetainės katalogu, iš kurio Nginx serveris skaito paleidžiant.

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

23. Kad pakeitimai būtų atlikti, iš naujo paleiskite Nginx žiniatinklio serverį.

sudo systemctl restart nginx

24. Kad įsitikintumėte, jog visos konfigūracijos yra tvarkingos, paleiskite komandą:

nginx -t

Jei visos konfigūracijos yra tvarkingos, turėtumėte gauti toliau pateiktą išvestį:

25. Dabar „Nginx“ žiniatinklio serveris turėtų teikti jūsų domeno turinį. Dar kartą eikite į savo naršyklę ir naršykite savo serverio domeną.

http://domain-name

Jūsų tinkintas turinys jūsų domeno kataloge bus pateiktas taip, kaip parodyta.

Svarbūs Nginx konfigūracijos failai

Prieš baigdami, labai svarbu išnagrinėti kai kuriuos svarbius konfigūracijos failus, susijusius su Nginx.

Nginx konfigūracijos failai

  • /etc/nginx/nginx.conf: tai pagrindinis konfigūracijos failas. Galite keisti nustatymus, kad atitiktų jūsų serverio reikalavimus.
  • /etc/nginx/sites-available: tai katalogas, kuriame saugoma serverio bloko konfigūracija. „Nginx“ naudoja serverio blokus tik tuo atveju, jei jie yra susieti su svetainių, kuriose įgalintas, katalogas.
  • /etc/nginx/sites-enabled: kataloge yra kiekvienos svetainės Nginx serverio blokai, kurie jau įgalinti.

Nginx žurnalo failai

Yra du pagrindiniai žurnalo failai, kuriuos galite naudoti norėdami pašalinti „Nginx“ žiniatinklio serverio triktis:

  • /var/log/nginx/access.log: registruojamos visos žiniatinklio serveriui pateiktos užklausos.
  • /var/log/nginx/error.log: tai klaidų žurnalo failas, kuriame įrašomos visos klaidos, su kuriomis susiduria Nginx.
Išvada

Pasiekėme šios mokymo programos pabaigą. Parodėme, kaip galite įdiegti Nginx Ubuntu 20.04 ir kaip galite nustatyti Nginx serverio blokus, kad būtų galima teikti jūsų domeno turinį. Jūsų atsiliepimai laukiami.