Kif Tinstalla Nginx Web Server fuq Ubuntu 20.04


Nginx huwa opensource, server tal-web ta 'prestazzjoni għolja li jikkmanda sehem tas-suq enormi f'ambjenti ta' produzzjoni. Huwa web server ħafif u robust li jintuża l-aktar biex jospita websajts b'traffiku għoli.

Aqra Relatat: Kif Tinstalla Apache Web Server fuq Ubuntu 20.04

F'din il-gwida, titgħallem kif tinstalla s-server tal-web Nginx u tikkonfigura l-blokk tas-server Nginx (hosts virtwali) fuq Ubuntu 20.04 LTS.

Biex tibda, kun żgur li għandek eżempju ta 'Ubuntu 20.04 LTS b'aċċess SSH u utent Sudo bi privileġġi ta' l-għeruq. Barra minn hekk, konnessjoni stabbli tal-internet hija rakkomandata biex tinstalla pakketti Nginx.

Installazzjoni ta 'Nginx fuq Ubuntu 20.04

1. Qabel ma tinstalla Nginx, aġġorna l-listi tal-pakketti tas-server tiegħek.

$ sudo apt update

2. Imbagħad installa Nginx billi tħaddem il-kmand:

$ sudo apt install nginx

Meta tintalab tkompli, agħfas Y fuq it-tastiera u agħfas ENTER. L-installazzjoni se ssir fi ftit sekondi biss.

3. B'Nginx installat b'suċċess, tista 'tibda u tivverifikah billi tħaddem:

$ sudo systemctl start nginx
$ sudo systemctl status nginx

L-output ta 'hawn fuq jindika b'mod ċar li Nginx qed jaħdem.

4. Biex tiċċekkja l-verżjoni ta 'Nginx, mexxi:

$ sudo dpkg -l nginx

L-output jindika li qed inħaddmu Nginx 1.17.10 li hija l-aħħar verżjoni fil-ħin tal-pinning down dan l-artikolu.

Iftaħ Nginx Ports fuq UFW Firewall

Issa li għandek Nginx installat u qed jaħdem kif mistenni, huma meħtieġa ftit aġġustamenti biex Nginx jiġi aċċessat permezz ta 'web browser. Jekk qed tħaddem il-firewall UFW, trid tippermetti l-profil tal-applikazzjoni Nginx.

Hemm 3 profili Nginx assoċjati mal-firewall ufw.

  1. Nginx Sħiħ – Dan jiftaħ kemm il-port 80 kif ukoll 443 (Għal encryption SSL/TLS).
  2. Nginx HTTP – Dan il-port miftuħ biss 80 (Għat-traffiku tal-web mhux kriptat).
  3. Nginx HTTPS – Jiftaħ biss il-port 443 (Għal encryption SSL/TLS).

5. Ibda billi tattiva l-firewall fuq Ubuntu 20.04.

$ sudo ufw enable

6. Għalissa, peress li m'aħniex fuq server ikkodifikat, se nħallu biss il-profil HTTP Nginx li jippermetti t-traffiku fuq il-port 80.

$ sudo ufw allow 'Nginx HTTP'

7. Imbagħad terġa 'tagħbija l-firewall biex il-bidliet jippersistu.

$ sudo ufw reload

8. Issa iċċekkja l-istatus tal-firewall biex tivverifika l-profili li ġew permessi.

$ sudo ufw status

Ittestja l-Nginx fuq Ubuntu 20.04

Nginx jaħdem fuq il-browser kif tistenna ma 'kwalunkwe web server u l-aktar mod żgur biex tittestja jekk huwiex qed jaħdem kif mistenni huwa li tibgħat it-talbiet permezz ta' browser.

9. Allura erġa lejn il-browser tiegħek u bbrawżja l-indirizz IP jew l-isem tad-dominju tas-server. Biex tiċċekkja l-IP tas-server tiegħek, mexxi l-kmand ifconfig:

$ ifconfig

10. Jekk inti fuq server sħaba, mexxi l-kmand curl hawn taħt biex tirkupra l-IP pubbliku tas-server.

$ curl ifconfig.me

11. Fuq il-qasam tal-URL tal-browser tiegħek, daħħal l-indirizz IP jew l-isem tad-dominju tas-server tiegħek u agħfas ENTER.

http://server-IP or domain-name

Għandek tikseb paġna ta 'merħba Nginx default kif muri.

Immaniġġja l-Proċess Nginx f'Ubuntu 20.04

12. Biex twaqqaf is-server tal-web Nginx, sempliċement mexxi:

$ sudo systemctl stop nginx

13. Biex terġa' ttella' l-webserver eżegwixxi:

$ sudo systemctl start nginx

14. Biex tibda awtomatikament Nginx fuq il-boot jew reboot run:

$ sudo systemctl enable nginx

15. Jekk trid terġa' tibda l-webserver speċjalment wara li tagħmel bidliet fil-fajls tal-konfigurazzjoni, mexxi:

$ sudo systemctl restart nginx

16. Alternattivament, tista 'terġa' tagħbija biex tevita li twaqqa' konnessjonijiet kif muri.

$ sudo systemctl reload nginx

Konfigurazzjoni ta 'Nginx Server Block f'Ubuntu 20.04

Jekk qed tippjana li tospita aktar minn sit wieħed fuq is-server tiegħek, allura t-twaqqif ta 'blokk Nginx Server jiġi rakkomandat ħafna. Il-blokk tas-server huwa l-ekwivalenti tal-host virtwali ta 'Apache.

B'mod awtomatiku, Nginx jibgħat bil-blokk tas-server default tiegħu li huwa ssettjat biex iservi kontenut tal-web fil-mogħdija /var/www/html.

Se noħolqu blokka Nginx separata biex naqdu l-kontenut tad-dominju tagħna. Għal din il-gwida, se nużaw id-dominju crazytechgeek.info.
Għall-każ tiegħek, kun żgur li tissostitwixxi dan bl-isem tad-dominju tiegħek stess.

17. Biex toħloq fajl tal-blokk tas-server, L-ewwel, oħloq direttorju għad-dominju tiegħek kif muri.

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

18. Sussegwentement, assenja s-sjieda lid-direttorju l-ġdid billi tuża l-varjabbli $USER.

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

19. Kun żgur li tassenja wkoll il-permessi tad-direttorju kif xieraq li jippermetti lis-sid li jkollu l-permessi kollha (jaqra, jikteb u jesegwixxi) u li tagħti lil partijiet oħra biss permessi ta' jaqra u tesegwixxi.

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

20. Ġewwa d-direttorju tad-dominju, oħloq index.html fajl li jkun fih il-kontenut tal-web tad-dominju.

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

Paste l-kontenut hawn taħt mal-fajl tal-ittestjar tal-kampjun.

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

Issejvja l-bidliet u oħroġ mill-fajl.

21. Biex is-server tal-web Nginx iservi l-kontenut li għadek kif żidt, għandek bżonn toħloq blokk tas-server bid-direttivi xierqa. F'dan il-każ, ħloqna blokka ġdida ta' server fuq:

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

Paste l-konfigurazzjoni murija.

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

Issejvja u oħroġ.

22. Issa ppermetti l-fajl tal-blokk tas-server billi tgħaqqadha mad-direttorju tas-siti li minnu jaqra s-server Nginx mal-istartjar.

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

23. Biex il-bidliet jiġu effettwati, ibda mill-ġdid il-webserver Nginx.

$ sudo systemctl restart nginx

24. Biss biex tkun ċert li l-konfigurazzjonijiet kollha huma fl-ordni, mexxi l-kmand:

$ nginx -t

Jekk il-konfigurazzjonijiet kollha huma fl-ordni, għandek tikseb l-output muri hawn taħt:

25. Is-server tal-web Nginx issa għandu jservi l-kontenut tad-dominju tiegħek. Għal darb'oħra, mur lejn il-browser tiegħek u bbrawżja d-dominju tas-server tiegħek.

http://domain-name

Il-kontenut tad-dwana tiegħek fid-direttorju tad-dominju tiegħek se jiġi nnotifikat kif muri.

Fajls ta' Konfigurazzjoni ta' Nginx Importanti

Qabel ma nagħlbu, huwa kruċjali li neżaminaw xi wħud mill-fajls ta 'konfigurazzjoni importanti assoċjati ma' Nginx.

  • /etc/nginx/nginx.conf: Dan huwa l-fajl tal-konfigurazzjoni prinċipali. Tista’ timmodifika s-settings biex tissodisfa r-rekwiżiti tas-server tiegħek.
  • /etc/nginx/sites-available: Dan huwa d-direttorju li jaħżen il-konfigurazzjoni tal-blokk tas-server. Nginx juża biss il-blokki tas-server jekk huma marbuta mad-direttorju ppermettiet għas-siti.
  • /etc/nginx/sites-enabled: Id-direttorju fih blokki ta' server Nginx għal kull sit li diġà huma attivati.

Hemm żewġ fajls ta’ log prinċipali li tista’ tuża biex issolvi l-problemi tas-server tal-web Nginx tiegħek:

  • /var/log/nginx/access.log: Dan jirreġistra t-talbiet kollha li saru lill-webserver.
  • /var/log/nginx/error.log: Dan huwa l-fajl log tal-iżbalji u jirreġistra l-iżbalji kollha li jiltaqa' magħhom Nginx.

Wasalna fl-aħħar ta 'dan it-tutorja. Aħna wrejna kif tista 'tinstalla Nginx fuq Ubuntu 20.04 u kif tista' twaqqaf blokki tas-server Nginx biex isservi l-kontenut tad-dominju tiegħek. Ir-rispons tiegħek huwa milqugħ.