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.
- Nginx Full – atidaromas ir 80, ir 443 prievadas (skirtas SSL/TLS šifravimui).
- Nginx HTTP – šis atviras tik prievadas 80 (skirtas nešifruotam žiniatinklio srautui).
- 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.