Installeer Nginx met serverblokken (virtuele hosts) op Debian 10
Nginx is een zeer populaire, krachtige webserver die de kracht van reverse proxying, load-balancing, caching en nog veel meer combineert. Afhankelijk van hoe het is geconfigureerd, kan het fungeren als een reverse proxy en als load balancer voor HTTP/HTTPS-servers.
De Nginx-webserver heeft een fenomenale capaciteit bij het bedienen van duizenden gelijktijdige verbindingen en dit maakt het de snelste webserver, die meer dan de helft van de drukste sites ter wereld aanstuurt. Deze omvatten Netflix, DuckDuckGo en DropBox om er maar een paar te noemen.
Lees ook: Apache installeren met virtuele hosts op Debian 10
In deze tutorial leiden we u door de stappen voor het installeren van Nginx met virtuele hosts om meerdere domeinen te hosten op een Debian 10-server.
Vereisten
Voordat we aan de slag gaan, moet u ervoor zorgen dat aan de volgende vereisten is voldaan:
- Een exemplaar van Debian 10.
- Een volledig gekwalificeerde domeinnaam (FQDN) die naar de server verwijst.
- In deze handleiding gebruiken we het domein
linux-console.net
dat verwijst naar een Debian 10-systeem met een IP-adres 192.168.0.104. - Een goede internetverbinding.
Stap 1: Update de Debian 10-pakketrepository
Voordat we iets anders doen, moeten we onze lokale pakketrepository bijwerken naar de nieuwste versies. Om dit te bereiken logt u in als een gewone gebruiker met sudo-rechten en voert u de onderstaande opdracht uit.
sudo apt update -y
Stap 2: Installeer Nginx op Debian 10
Omdat Nginx aanwezig is in de repository's van Debian, kunnen we het gerust installeren met behulp van de apt-pakketbeheerder die bij Debian wordt geleverd.
sudo apt install nginx -y
Stap 3: De status van de Nginx-webserver controleren
Als u geen fouten heeft ondervonden, is de Nginx-webserver met succes geïnstalleerd. Het is verstandig om de status van de webserver te verifiëren voordat u verdere configuraties uitvoert.
Voer het volgende uit om de status van Nginx te controleren:
systemctl status nginx
Als de webserver actief is, krijgt u onderstaande melding.
Als u de Nginx-webserver opnieuw wilt opstarten, voert u de opdracht uit.
systemctl restart nginx
Om Nginx te stoppen, geeft u de opdracht.
systemctl stop nginx
Om de webserver te starten, voert u uit.
systemctl start nginx
Om de Nginx-webserver te configureren om te starten tijdens het opstarten.
systemctl enable nginx
Lees ook: 10 meest gebruikte Nginx-opdrachten die elke Linux-gebruiker moet kennen
Stap 4: Configureer de firewall om de Nginx-poort te openen
Nu Nginx succesvol is geïnstalleerd en actief is, moeten we webtoegang tot de service toestaan, vooral voor externe gebruikers. Als u de UFW-firewall hebt ingeschakeld, moet u HTTP-toegang via de firewall toestaan.
Om dit te bereiken, voert u de opdracht uit.
sudo ufw allow 'Nginx HTTP'
Laad vervolgens de firewall opnieuw om de wijzigingen door te voeren.
sudo ufw reload
Geweldig, nu kun je verifiëren dat HTTP door de firewall wordt toegelaten door te draaien.
sudo ufw status
Uit het bovenstaande fragment kunnen we duidelijk zien dat Nginx HTTP is toegestaan via de UFW-firewall.
Stap 5: Toegang tot de Nginx-webserver
We hebben tot nu toe de basisconfiguraties gemaakt om Nginx operationeel te krijgen. Om via de webbrowser toegang te krijgen tot de webserver, bladert u door het IP-adres van de server, zoals weergegeven.
http://server-IP-address
Dit is een bevestiging dat Nginx actief is.
Stap 6: Nginx-serverblokken configureren op Debian 10
Dit is een optionele stap en is handig als u meerdere domeinen wilt hosten op een Nginx-webserver. Om dit te laten werken, moet er een domeinnaam naar uw Debian-server verwijzen.
Voor dit gedeelte gebruiken we de domeinnaam linux-console.net
waarvan het A
-record verwijst naar het IP-adres van de server 192.168.0.104.
Wanneer u de domeinnaam naar het IP-adres van uw server verwijst, zal de domeinnaam snel veranderen en naar uw webserver verwijzen, zoals weergegeven.
Laten we nu een serverblok maken.
Laten we eerst een map voor ons domein maken, zoals weergegeven.
sudo mkdir -p /var/www/html/linux-console.net
Wijs vervolgens het vereiste bestandseigendom toe, zoals weergegeven.
sudo chown -R $USER:$USER /var/www/html/linux-console.net
Wijs vervolgens lees- en uitvoerrechten toe aan de groep en de openbare gebruikers, zoals weergegeven.
sudo chmod -R 755 /var/www/html/linux-console.net
Laten we nu een eenvoudige index.html
voorbeeldpagina maken met de vim-teksteditor.
sudo vim /var/www/html/linux-console.net/index.html
Voeg wat voorbeeldinhoud toe aan het bestand. Dit wordt weergegeven in de browser.
<html>
<head>
<title>Welcome to Linux geeks</title>
</head>
<body>
<h1>Success! Welcome to your new server block on Tecmint Nginx Web Server !</h1>
</body>
</html>
Sla op en sluit de editor af
Om deze inhoud te kunnen aanbieden, moet er een serverblok worden gemaakt.
Laten we een serverblok maken
vim /etc/nginx/sites-available/linux-console.net
Kopieer en plak de volgende inhoud in het serverblokbestand.
server {
listen 80;
listen [::]:80;
root /var/www/html/linux-console.net;
index index.html index.htm index.nginx-debian.html;
server_name linux-console.net linux-console.net;
location / {
try_files $uri $uri/ =404;
}
}
Zorg ervoor dat u de domeinnaam linux-console.net bijwerkt met uw eigen domeinnaam.
Om het serverblokbestand te activeren of in te schakelen, maakt u een symbolische link zoals weergegeven.
sudo ln -s /etc/nginx/sites-available/linux-console.net /etc/nginx/sites-enabled/
Om te verifiëren dat alle instellingen in Nginx correct zijn geconfigureerd, voert u het programma uit.
sudo nginx -t
Geweldig, we zijn klaar om te gaan! Start Nginx eindelijk opnieuw op.
sudo systemctl restart nginx
Ga naar uw browser en ververs en als alles goed is gegaan, zou de browser uw serverblok-webpagina moeten weergeven zoals weergegeven.
Stap 7: Toegang tot Nginx-logbestanden
Voor toegang tot logbestanden over verzoeken aan uw server, opent u het onderstaande bestand.
sudo vim /var/log/nginx/access.log
Als u fouten tegenkomt op uw Nginx-webserver, onderzoekt u het bestand op fouten.
sudo vim /var/log/nginx/error.log
Conclusie
In deze handleiding heeft u geleerd hoe u Nginx op uw Debian 10-instantie installeert en deze verder configureert om aanvullende domeinen te ondersteunen. We hopen dat u deze gids inzichtelijk vond. Uw feedback wordt op prijs gesteld..