Zoeken op website

Hoe Nginx-webserver op Ubuntu 20.04 te installeren


Nginx is een opensource, krachtige webserver die een enorm marktaandeel heeft in productieomgevingen. Het is een lichtgewicht en robuuste webserver die vooral wordt gebruikt bij het hosten van websites met veel verkeer.

Gerelateerd lezen: Apache Web Server installeren op Ubuntu 20.04

In deze handleiding leert u hoe u de Nginx-webserver installeert en het Nginx-serverblok (virtuele hosts) configureert op Ubuntu 20.04 LTS.

Vereisten

Om aan de slag te gaan, moet u ervoor zorgen dat u over een exemplaar van Ubuntu 20.04 LTS met SSH-toegang en een Sudo-gebruiker met rootrechten beschikt. Daarnaast wordt een stabiele internetverbinding aanbevolen om Nginx-pakketten te installeren.

Nginx installeren op Ubuntu 20.04

1. Voordat u Nginx installeert, moet u de pakketlijsten van uw server bijwerken.

sudo apt update

2. Installeer vervolgens Nginx door de opdracht uit te voeren:

sudo apt install nginx

Wanneer u wordt gevraagd om door te gaan, drukt u op 'Y' op het toetsenbord en drukt u op ENTER. De installatie is binnen enkele seconden voltooid.

3. Als Nginx succesvol is geïnstalleerd, kun je het starten en verifiëren door het volgende uit te voeren:

sudo systemctl start nginx
sudo systemctl status nginx

De bovenstaande uitvoer geeft duidelijk aan dat Nginx actief is.

4. Voer het volgende uit om de versie van Nginx te controleren:

sudo dpkg -l nginx

De uitvoer geeft aan dat we Nginx 1.17.10 gebruiken, wat de nieuwste versie is op het moment dat dit artikel werd geschreven.

Open Nginx-poorten op UFW Firewall

Nu Nginx is geïnstalleerd en werkt zoals verwacht, zijn er een paar aanpassingen nodig om Nginx toegankelijk te maken via een webbrowser. Als u de UFW-firewall gebruikt, moet u het Nginx-applicatieprofiel toestaan.

Er zijn 3 Nginx-profielen gekoppeld aan de ufw-firewall.

  1. Nginx Full – Dit opent zowel poort 80 als 443 (voor SSL/TLS-codering).
  2. Nginx HTTP – Deze poort is alleen geopend 80 (voor niet-versleuteld webverkeer).
  3. Nginx HTTPS – Opent alleen poort 443 (voor SSL/TLS-codering).

5. Begin met het inschakelen van de firewall op Ubuntu 20.04.


sudo ufw enable

6. Omdat we ons niet op een gecodeerde server bevinden, staan we voorlopig alleen het Nginx HTTP-profiel toe dat verkeer op poort 80 toestaat. .

sudo ufw allow 'Nginx HTTP'

7. Laad vervolgens de firewall opnieuw zodat de wijzigingen blijven bestaan.

sudo ufw reload

8. Controleer nu de status van de firewall om de toegestane profielen te verifiëren.

sudo ufw status

De Nginx testen op Ubuntu 20.04

Nginx draait in de browser zoals je zou verwachten van elke webserver en de zekerste manier om te testen of het werkt zoals verwacht is door verzoeken via een browser te verzenden.

9. Ga dus naar uw browser en blader door het IP-adres of de domeinnaam van de server. Om het IP-adres van uw server te controleren, voert u de opdracht ifconfig uit:

ifconfig

10. Als u zich op een cloudserver bevindt, voert u de onderstaande curl-opdracht uit om het openbare IP-adres van de server op te halen.

curl ifconfig.me

11. Voer in het URL-veld van uw browser het IP-adres of de domeinnaam van uw server in en druk op ENTER.

http://server-IP or domain-name

U zou een standaard Nginx welkomstpagina moeten krijgen, zoals weergegeven.

Beheer het Nginx-proces in Ubuntu 20.04

12. Om de Nginx webserver te stoppen, voert u eenvoudigweg het volgende uit:

sudo systemctl stop nginx

13. Voer het volgende uit om de webserver weer op te starten:

sudo systemctl start nginx

14. Om Nginx automatisch te starten tijdens het opstarten of opnieuw opstarten:

sudo systemctl enable nginx

15. Als u de webserver opnieuw wilt opstarten, vooral nadat u wijzigingen in de configuratiebestanden heeft aangebracht, voert u het volgende uit:

sudo systemctl restart nginx

16. U kunt ook opnieuw laden om te voorkomen dat verbindingen verloren gaan, zoals weergegeven.

sudo systemctl reload nginx

Nginx-serverblok configureren in Ubuntu 20.04

Als u van plan bent meer dan één site op uw server te hosten, wordt het instellen van een Nginx serverblok ten zeerste aanbevolen. Het serverblok is het equivalent van de virtuele host van Apache.

Standaard wordt Nginx geleverd met het standaard serverblok dat is ingesteld om webinhoud weer te geven op het pad /var/www/html.

We gaan een afzonderlijk Nginx-blok maken om de inhoud van ons domein aan te bieden. Voor deze handleiding gebruiken we het domein crazytechgeek.info.
Zorg er in uw geval voor dat u dit vervangt door uw eigen domeinnaam.

17. Om een serverblokbestand te maken, maakt u eerst een map voor uw domein, zoals weergegeven.

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

18. Wijs vervolgens het eigendom toe aan de nieuwe map met behulp van de $USER variabele.

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

19. Zorg ervoor dat u ook maprechten toewijst, zodat de eigenaar alle rechten heeft (lezen, schrijven en uitvoeren) en andere partijen alleen lees- en uitvoeringsrechten geeft.

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

20. Maak in de domeinmap een index.html, een bestand dat de webinhoud van het domein bevat.

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

Plak de onderstaande inhoud in het voorbeeldtestbestand.

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

Sla de wijzigingen op en sluit het bestand af.

21. Om ervoor te zorgen dat de Nginx-webserver de inhoud kan weergeven die u zojuist heeft toegevoegd, moet u een serverblok maken met de juiste richtlijnen. In dit geval hebben we een nieuw serverblok gemaakt op:

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

Plak de weergegeven configuratie.

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

Opslaan en afsluiten.

22. Schakel nu het serverblokkeringsbestand in door het te koppelen aan de map sites-enabled waaruit de Nginx-server leest bij het opstarten.

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

23. Om de wijzigingen door te voeren, start u de Nginx webserver opnieuw op.

sudo systemctl restart nginx

24. Om er zeker van te zijn dat alle configuraties in orde zijn, voert u de opdracht uit:

nginx -t

Als alle configuraties in orde zijn, zou u de onderstaande uitvoer moeten krijgen:

25. De Nginx-webserver zou nu de inhoud van uw domein moeten weergeven. Ga nogmaals naar uw browser en blader door het domein van uw server.

http://domain-name

Uw aangepaste inhoud in de directory van uw domein wordt weergegeven zoals weergegeven.

Belangrijke Nginx-configuratiebestanden

Voordat we afsluiten, is het van cruciaal belang dat we enkele van de belangrijke configuratiebestanden onderzoeken die verband houden met Nginx.

Nginx-configuratiebestanden

  • /etc/nginx/nginx.conf: dit is het hoofdconfiguratiebestand. U kunt de instellingen aanpassen aan de vereisten van uw server.
  • /etc/nginx/sites-available: dit is de map waarin de serverblokconfiguratie wordt opgeslagen. Nginx gebruikt de serverblokken alleen als deze zijn gekoppeld aan de directory met sites.
  • /etc/nginx/sites-enabled: de directory bevat Nginx-serverblokken per site die al zijn ingeschakeld.

Nginx-logbestanden

Er zijn twee belangrijke logbestanden die u kunt gebruiken om problemen met uw Nginx-webserver op te lossen:

  • /var/log/nginx/access.log: Hiermee worden alle verzoeken aan de webserver geregistreerd.
  • /var/log/nginx/error.log: dit is het foutenlogbestand en het registreert alle fouten die Nginx tegenkomt.
Conclusie

We zijn aan het einde van deze tutorial gekomen. We hebben laten zien hoe u Nginx op Ubuntu 20.04 kunt installeren en hoe u Nginx-serverblokken kunt instellen om de inhoud van uw domein aan te bieden. Uw feedback is welkom.