Winkelwagen

/ VPS-Infrastructuur

Alles over de zelfontwikkelde VPS-infrastructuur

Register now

/ Up to date

/ Nieuws

Lancering PerformanceVPS

Meer info
Hulp nodig?

    Sorry, we konden geen resultaten vinden voor jouw zoekopdracht.

    Een Nginx webserver installeren in CentOS Stream 8

    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 naast Nginx ook MariaDB nodig (of een vergelijkbaar alternatief zoals MySQL).

    In dit artikel behandelen we de installatie en configuratie van Nginx in 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 

    Als je een firewall zoals Firewalld gebruikt, staan de HTTP en -HTTPS-poorten van je firewall 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 en gebruik vanaf hier 'sudo' bij het uitvoeren van de commando's in dit artikel, of schakel na deze stap weer terug naar de root-gebruiker.

    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.example.com/html/index.html
    

    Mocht je nog geen Nano geïnstalleerd hebben op je VPS, gebruik dan het commando hieronder of de teksteditor Vi:

    dnf -y install nano

    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.

    Mocht je problemen ervaren, dan komt dit waarschijnlijk door Selinux. We raden aan Selinux in dat geval op permissive mode te zetten, of Nginx toe te staan in Selinux. Voor meer informatie over Selinux, zie deze handleiding.


    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 -y 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:

    dnf -y 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 (als dat niet al standaard het geval is). 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.example.com/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

    Herstart vervolgens Nginx:

    systemctl restart nginx

    Stap 9

    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 Stream 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.

    Kom je er niet uit?

    Ontvang persoonlijke hulp van onze supporters

    Neem contact op