Hulpartikel overzicht

Hulpartikel

Een Nginx webserver installeren in CentOS 8

In dit artikel leggen wij de installatie en configuratie van een Nginx-webserver in Centos 8 uit.

Nginx is een webserver en een reverse-proxyserver gericht op laag geheugengebruik en hoge prestaties. Host je een dynamische website op je VPS (e.g. WordPress), dan heb je ook MariaDB nodig (of een vergelijkbaar alternatief zoals MySQL).

In dit artikel behandelen we de volgende onderdelen:

  • De installatie van Nginx
  • De HTTP- en HTTPS-poorten openen in je firewall
  • Een Nginx server block instellen
  • PHP-installatie en configuratie
  • Voer de stappen in dit artikel uit als root user, of gebruik sudo.
  • Vervang 'Example.com' in de voorbeelden door je eigen domeinnaam.

De nginx-installatie

 

Stap 1

Voor je Nginx installeert, update je eerst je VPS:

dnf -y update

 

Stap 2

Vervolgens installeer je Nginx met het commando:

dnf -y install nginx

 

Stap 3

Na de installatie start je Nginx met het commando:

systemctl start nginx
systemctl enable nginx

De HTTP- en HTTPS-poorten openen in je firewall

De HTTP en -HTTPS-poorten van je firewall staan standaard dicht. In dit onderdeel zet je de HTTP- en HTTPS-poorten open.

 

Stap 1

Open de HTTP- en HTTPS-poorten:

firewall-cmd --permanent --add-service=http 
firewall-cmd --permanent --add-service=https

Om de veranderingen door te voeren herlaad je de firewall:

firewall-cmd --reload

 

Stap 2

Gebruik je de VPS-Firewall in het controlepaneel? Open dan ook de HTTP- en HTTPS-poorten in je controlepaneel:


Een Nginx server block instellen

Nginx maakt gebruik van server blocks. Deze zijn vergelijkbaar met Apache's virtual hosts en stellen je in staat om meer dan één website tegelijkertijd online te hosten.

 

Stap 1

Eerst maak je een directory aan voor je domein (met de optie -p van 'parent' maak je automatisch ontbrekende onderliggende mappen aan).

mkdir -p /var/www/example.com/html

 

Stap 2

Doorloop je deze stappen als root-user? Schakel dan eerst terug naar je eigen user met het commando exit.

De root-user is door het gebruik van sudo automatisch eigenaar geworden van deze directory. Pas voor de html-folder de eigenaar aan naar jezelf met het commando:

chown $USER:$USER /var/www/example.com/html

 

Stap 3

Pas de rechten tot de directory (en onderliggende mappen via de recursive optie -R) aan zodat de eigenaar volledige toegang heeft en de groep en andere gebruikers bestanden in de directory kunnen lezen en uitvoeren.

chmod -R 755 /var/www/example.com

 

Stap 4

Maak een testbestand aan in de html-directory om de werking van je Nginx-server te testen.

nano /var/www/nginx.supporttest.nl/html/index.html

Geef het bestand de volgende inhoud, of gebruik je eigen html-code:

<!DOCTYPE html>

<html>

    <head>

        <title>Voorbeeld</title>

    </head>

    <body>

        <p>Hello world! </p>

    </body>

</html>

Sla de wijziging op en sluit nano (ctrl + x > y > enter).


 

Stap 5

Om de inhoud van het index.html bestand te kunnen tonen, maak je een server block aan voor Nginx. Hierin geef je op welke poorten en directory je gebruikt, je server naam en welke bestanden als index gebruikt mogen worden:

nano /etc/nginx/conf.d/example.com.conf

 

Stap 6

Plak de volgende configuratie in het geopende bestand:

server {
listen 80;
listen [::]:80;

root /var/www/example.com/html;
index index.php index.html index.htm index.nginx-debian.html;

server_name example.com www.example.com;

}

Sla de wijziging op en sluit nano (ctrl + x > y > enter).


 

Stap 7

Je kunt nu direct de werking van je webserver testen door in een browser naar http://example.com te gaan, waarbij je example.com vervangt door je hostname (te controleren met het commando 'hostname'), of het IP-adres van je VPS. Je ziet dan de standaard test-pagina.


PHP-installatie en configuratie

Nginx komt niet automatisch met PHP. Om PHP te kunnen gebruiken installeer je het dan ook apart. Hieronder laten we zien hoe je PHP installeert en configureert en vervolgens de Nginx-configuratie aanpast om PHP te gebruiken.

 

Stap 1

Installeer de REMI repository, de laatste PHP-versie is hierin opgenomen:

dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Activeer vervolgens de PHP-module:

dnf module reset php
dnf module enable php:remi-7.4

 

Stap 2

Installeer PHP met het commando:

sudo dnf module install php:remi-7.4

 

Stap 3

Open het PHP.ini-bestand (dit bestand is verantwoordelijk voor de instellingen van je PHP-server):

nano /etc/php.ini

Zoek in het bestand naar 'cgi.fix_pathinfo=1' en verander het naar 'cgi.fix_pathinfo=0' om het uit te zetten. Deze optie is onveilig en kan je PHP-server gevoelig maken voor aanvallen. Tip: Gebruik ctrl + w om snel in het bestand te kunnen zoeken.

Sla de wijziging op en sluit nano (ctrl + x > y > enter).


 

Stap 4

Open het PHP-fpm configuratiebestand:

nano /etc/php-fpm.d/www.conf

Verander de volgende waardes:

user = nginx
group = nginx
listen = /run/php-fpm/www.sock

Sla de wijziging op en sluit nano (ctrl + x > y > enter).


 

Stap 5

Schakel PHP-fpm in zodat PHP-automatisch opstart na een reboot van je VPS:

systemctl enable php-fpm

 

Stap 6

Controleer of de PHP-installatie is gelukt door een info.php bestand aan te maken. Dit bestand toont je server's huidige PHP-configuratie.

Maak het info.php bestand aan:

nano /var/www/nginx.supporttest.nl/html/info.php

Plaats de volgende code in het bestand:

<?php
phpinfo();
?>

Sla het bestand op en sluit het af (ctrl + x > y > enter).


 

Stap 7

Om de inhoud van het info.php bestand te kunnen tonen, pas je het server block van je domein aan.

Open het server block:

nano /etc/nginx/conf.d/example.com.conf

Pas het bestand aan naar het voorbeeld:

server {
listen 80;
listen [::]:80;

root /var/www/example.com/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name example.com www.example.com;

location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

Sla het bestand op en sluit het af (ctrl + x > y > enter).


 

Stap 8

Open een web-browser en ga naar je php test-pagina:

http://example.com/info.php 

Als je alle stappen correct hebt uitgevoerd zie je een PHP-informatie pagina zoals hieronder:


 

Daarmee zijn we aan het einde gekomen van deze handleiding voor de installatie van Nginx in Centos 8. Je kunt nu PHP, HTML en CSS gebruiken op jouw website.

Mocht je aan de hand van dit artikel nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' onderaan deze pagina.

Wil je dit artikel met andere gebruikers bespreken, laat dan vooral een bericht achter onder 'Reacties'.

Probeer BladeVPS een maand gratis

Maak van jouw volgende website of applicatie een succes op BladeVPS PureSSD. Probeer direct of een self-managed VPS iets voor jou is; de eerste maand krijg je van ons :-)!

Start nu je gratis maand

Heb je ook een goed idee?

Stuur jouw idee in! Met genoeg stemmen komt jouw idee op onze wishlist!

Heeft dit artikel je geholpen?

Maak een account aan of log in om een beoordeling achter te laten.

Reacties

Maak een account aan of log in om een reactie te plaatsen.

Kom je er niet uit?

Ontvang persoonlijke hulp van onze supporters

Neem contact op