Wéi installéiere ech Nginx Web Server op Ubuntu 20.04


Nginx ass en Opensource, High-Performance Webserver deen e grousse Maartundeel a Produktiounsëmfeld commandéiert. Et ass e liicht a robuste Webserver dee meeschtens benotzt gëtt fir Websäiten mat héijer Traffic ze hosten.

Verbonnen Liesen: Wéi installéiere ech Apache Web Server op Ubuntu 20.04

An dësem Guide léiert Dir wéi Dir den Nginx Webserver installéiere wëllt an den Nginx Server Block (virtuell Hosten) op Ubuntu 20.04 LTS konfiguréieren.

Fir unzefänken, gitt sécher datt Dir eng Instanz vun Ubuntu 20.04 LTS mat SSH Zougang an e Sudo Benotzer mat Root Privilegien hutt. Zousätzlech ass eng stabil Internetverbindung recommandéiert fir Nginx Packagen z'installéieren.

Installéiere vun Nginx op Ubuntu 20.04

1. Ier Dir Nginx installéiert, aktualiséieren Äre Server Package Lëschten.

$ sudo apt update

2. Installéiert dann Nginx andeems Dir de Kommando ausféiert:

$ sudo apt install nginx

Wann Dir gefrot fir weiderzemaachen, dréckt Y op der Tastatur a dréckt ENTER. D'Installatioun gëtt an nëmmen e puer Sekonnen gemaach.

3. Mat Nginx erfollegräich installéiert, kënnt Dir starten a verifizéieren andeems Dir laaft:

$ sudo systemctl start nginx
$ sudo systemctl status nginx

D'Output hei uewen weist kloer datt Nginx leeft.

4. Fir d'Versioun vun Nginx ze kontrolléieren, lafen:

$ sudo dpkg -l nginx

D'Output weist datt mir Nginx 1.17.10 lafen, wat déi lescht Versioun ass zum Zäitpunkt vun dësem Artikel.

Open Nginx Ports op UFW Firewall

Elo datt Dir Nginx installéiert hutt a laaft wéi erwaart, sinn e puer Upassunge erfuerderlech fir Nginx iwwer e Webbrowser zougänglech ze kréien. Wann Dir d'UFW Firewall leeft, musst Dir den Nginx Applikatiounsprofil erlaben.

Et ginn 3 Nginx Profiler verbonne mat ufw Firewall.

  1. Nginx Full - Dëst mécht souwuel Port 80 & 443 op (Fir SSL/TLS Verschlësselung).
  2. Nginx HTTP - Dëst oppen nëmmen den Hafen 80 (Fir onverschlësselte Webverkéier).
  3. Nginx HTTPS - mécht nëmme Port 443 op (Fir SSL/TLS Verschlësselung).

5. Fänkt un andeems Dir d'Firewall op Ubuntu 20.04 aktivéiert.

$ sudo ufw enable

6. Fir de Moment, well mir net op engem verschlësselte Server sinn, wäerte mir nëmmen den Nginx HTTP Profil erlaben deen den Traffic um Port 80 erlaabt.

$ sudo ufw allow 'Nginx HTTP'

7. Da lued d'Firewall nei fir datt d'Ännerungen bestoe bleiwen.

$ sudo ufw reload

8. Elo kontrolléiert de Status vun der Firewall fir d'Profiler z'iwwerpréiwen déi erlaabt sinn.

$ sudo ufw status

Testen den Nginx op Ubuntu 20.04

Nginx leeft am Browser wéi Dir mat all Webserver erwaart an de sécherste Wee fir ze testen ob et leeft wéi erwaart ass Ufroen iwwer e Browser ze schécken.

9. Also gitt op Äre Browser eraus a kuckt d'IP Adress vum Server oder den Domain Numm. Fir d'IP vun Ärem Server ze kontrolléieren, fuert de ifconfig Kommando:

$ ifconfig

10. Wann Dir op engem Cloud-Server sidd, lafen de Curl-Kommando hei ënnen fir den ëffentleche IP vum Server ze recuperéieren.

$ curl ifconfig.me

11. Am URL-Feld vun Ärem Browser, gitt Är IP Adress oder Domain Numm vun Ärem Server an a dréckt ENTER.

http://server-IP or domain-name

Dir sollt eng Standard Nginx Wëllkomm Säit kréien wéi gewisen.

Verwalten Nginx Prozess an Ubuntu 20.04

12. Fir den Nginx Webserver ze stoppen, einfach lafen:

$ sudo systemctl stop nginx

13. Fir de Webserver erëm opzehiewen ausféieren:

$ sudo systemctl start nginx

14. Fir den Nginx automatesch op Boot oder e Reboot lafen ze starten:

$ sudo systemctl enable nginx

15. Wann Dir de Webserver wëllt nei starten, besonnesch nodeems Dir Ännerunge vun de Konfiguratiounsdateien gemaach hutt, lafen:

$ sudo systemctl restart nginx

16. Alternativ kënnt Dir nei lueden fir d'Verbindungen ze vermeiden wéi se gewisen.

$ sudo systemctl reload nginx

Nginx Server Block an Ubuntu 20.04 konfiguréieren

Wann Dir plangt méi wéi ee Site op Ärem Server ze hosten, da kënnt en Nginx Server Block opzestellen héich recommandéiert. De Serverblock ass den Äquivalent vum Apache sengem virtuelle Host.

Par défaut verschéckt Nginx mat sengem Standard Serverblock deen opgestallt ass fir Webinhalt um /var/www/html Wee ze déngen.

Mir wäerten e separaten Nginx Block erstellen fir den Inhalt vun eisem Domain ze déngen. Fir dëse Guide benotze mir den Domain crazytechgeek.info.
Fir Äre Fall, gitt sécher datt Dir dëst duerch Ären eegene Domain Numm ersetzt.

17. Fir e Serverblockdatei erstellen, Erstellt als éischt e Verzeechnes fir Är Domain wéi gewisen.

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

18. Als nächst gitt d'Besëtzer un den neie Verzeichnis mat der Variabel $USER.

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

19. Vergewëssert Iech datt Dir och Verzeechnes Permissiounen deementspriechend zougewisen erlaabt datt de Besëtzer all Permissiounen huet (liesen, schreiwen an ausféieren) an aner Parteien nëmmen d'Liesen an d'Ausféierungsautorisatiounen ginn.

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

20. Am Domain Verzeechnes, erstellt en index.html e Fichier deen de Webinhalt vun der Domain enthält.

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

Paste den Inhalt hei ënnen an d'Probe Testdatei.

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

Späichert d'Ännerungen a gitt d'Datei aus.

21. Fir Nginx Webserver fir den Inhalt ze déngen, deen Dir just bäigefüügt hutt, musst Dir e Serverblock mat de passenden Direktiven erstellen. An dësem Fall hu mir en neie Serverblock erstallt op:

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

Paste déi ugewisen Konfiguratioun.

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

Retten an Sortie.

22. Aktivéiert elo d'Serverblockdatei andeems se se an de Site-aktivéierten Verzeechnes verbënnt, aus deem den Nginx Server beim Startup liest.

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

23. Fir d'Ännerungen auszeféieren, restart den Nginx Webserver.

$ sudo systemctl restart nginx

24. Just fir sécher ze sinn datt all Konfiguratiounen an der Rei sinn, lafen de Kommando:

$ nginx -t

Wann all d'Konfiguratiounen an der Rei sinn, sollt Dir d'Ausgab hei ënnen kréien:

25. Den Nginx Webserver soll elo den Inhalt vun Ärem Domain déngen. Nach eng Kéier, gitt op Äre Browser a kuckt op Ärem Server Domain.

http://domain-name

Äre personaliséierten Inhalt am Verzeechnes vun Ärem Domain gëtt servéiert wéi gewisen.

Wichteg Nginx Konfiguratiounsdateien

Ier mir ofschléissen, ass et entscheedend datt mir e puer vun de wichtege Konfiguratiounsdateien ënnersicht, déi mat Nginx verbonne sinn.

  • /etc/nginx/nginx.conf: Dëst ass d'Haaptkonfiguratiounsdatei. Dir kënnt d'Astellunge änneren fir den Ufuerderunge vun Ärem Server z'erreechen.
  • /etc/nginx/sites-available: Dëst ass de Verzeechnes deen d'Serverblockkonfiguratioun späichert. Nginx benotzt nëmmen d'Serverblocken wa se mam Site-aktivéierten Verzeichnis verlinkt sinn.
  • /etc/nginx/sites-enabled: De Verzeichnis enthält pro-Site Nginx Serverblocken déi scho aktivéiert sinn.

Et ginn zwou Haaptlogdateien déi Dir benotze kënnt fir Ären Nginx Webserver ze léisen:

  • /var/log/nginx/access.log: Dëst protokolléiert all Ufroen, déi op de Webserver gemaach goufen.
  • /var/log/nginx/error.log: Dëst ass d'Feelerprotokolldatei an et registréiert all d'Feeler op déi Nginx begéint.

Mir sinn um Enn vun dësem Tutorial erreecht. Mir hunn gewisen wéi Dir Nginx op Ubuntu 20.04 installéiere kënnt a wéi Dir Nginx Serverblocken opstellt fir den Inhalt vun Ärem Domain ze déngen. Äre Feedback ass wëllkomm.