NGINX (uitspraak: engine x) is een lichtgewicht webserver die je op (bijna) elke computer kan installeren, ook op een raspberry pi.
NGINX is een open-source, lichtgewicht maar toch hoog-performante webserver. Hoewel je NGINX ook op een Windows computer kunt installeren, is het toch aangeraden om NGINX op een Linux computer te gebruiken. Een raspberry pi is dus zeker een ideale computer om NGINX op te gebruiken. Net als andere moderne webservers kan NGINX niet enkel statische HTML bestanden overbrengen, maar ook dynamische pagina’s genereren die gebruik maken van PHP, .NET core en Javascript.
Gebruik
Het gebruik van NGINX op een raspberry pi is een heel goedkope en snelle optie om als webontwikkelaar webpagina’s uit te testen. Maar het is evengoed een ideale oplossing om een eigen webapplicatie (of een andere beschikbare webapplicatie die je kunt downloaden) te installeren voor huis-, tuin- en keukengebruik. Een praktisch voorbeeld is bijvoorbeeld het meten van het niveau van je regenwaterput.
Hoe installeer je nu NGINX op een Raspberry Pi?
Installatie van NGINX kan in een aantal eenvoudige stappen:
Om te beginnen doe je best een update van het besturingssysteem op je Raspberry Pi. Dit doe je met volgende commando’s:
sudo apt-get update
sudo apt-get upgrade
Vervolgens installeer je NGINX:
sudo apt-get install nginx
Starten van NGINX doe je zo:
sudo systemctl start nginx
Maak een directory aan en pas de rechten aan:
mkdir website
chmod 0755 website
Plaats je webapplicatie (bvb. html bestanden) in deze directory. Heb je geen webapplicatie, dan kun je een testpagina aanmaken:
cd website
nano index.html
Inhoud index.html bestand:
<html>
<body>
Hello world!
</body>
</html>
Afsluiten editor: Ctrl-X, Y tikken en daarna “enter” zorgt ervoor dat het bestand index.html opgeslagen wordt.
Maak een bestand aan in de directory /etc/nginx/sites-available met de naam van de directory die je in een vorige stap hebt aangemaakt:
sudo nano
/etc/nginx/sites-available/website
en plaats daar het volgende in:
server {
listen 20010;
server_name localhost;
root /home/pi/website;
index index.html;
}
Hierbij is het getal dat na listen staat, het poortnummer waarop de website bereikbaar is. Wat na root staat is de locatie van de webapplicatie. Wat na index staat is de naam van het standaard bestand dat geopend wordt, als je bij het surfen geen bestand aangeeft.
Stel ditzelfde bestand ook beschikbaar in de directory /etc/nginx/sites-enabled. Je doet dit door een shortcut te leggen (symbolic link) met dit commando:
sudo ln -s /etc/nginx/sites-available/website /etc/nginx/sites-enabled/
Tenslotte herstart je de NGINX webserver:
sudo systemctl restart nginx
Nu zou het moeten lukken om naar je webapplicatie te surfen. Vanaf de raspberry pi kun je dit als volgt doen:
curl 127.0.0.1:20010
Lukt het niet, dan is er iets fout gelopen. De reden kun je hopelijk vinden in het log bestand /var/log/nginx/error.log.