InfoNu.nl > Pc en Internet > Hosting > Debian, nginx en PHP-FPM installeren

Debian, nginx en PHP-FPM installeren

Debian, nginx en PHP-FPM installeren De combinatie nginx en PHP-FPM is ijzersterk, het is supersnel en kan met mindere 'server performance' meer resultaat leveren. Leer hoe je nginx en PHP-FPM op een Debian/Ubuntu server installeert.

Voordelen van nginx en PHP-FPM vergeleken met Apache en PHP

Een van de grootste voordelen van de combinatie van nginx met PHP-FPM is de snelheid. Vooral bij grote en zware sites scheelt dit erg veel. Ook als je op goede SEO wilt scoren is het belangrijk dat je site snel laadt. Daarnaast is een snel ladende site ook erg plezierig voor de bezoeker.

Installeren op een Debian server

Stap 1: Voorbereiden

Log in als root gebruiker op SSH of direct in de terminal. Zorg er vervolgens voor dat alle pakketten up-to-date zijn door de volgende commando's in te voeren:
apt-get update
apt-get upgrade

Stap 2: Installeren van de benodigde software

apt-get install nginx php5-fpm

Je zou er ook nog voor kunnen kiezen om direct ook MySQL te installeren. Dit doe je met het volgende commando:
apt-get install mysql-server mysql-client

Tijdens de installatie zal gevraagd worden voor het MySQL root account, onthoud dit wachtwoord goed, deze heb je later nodig om te verbinden met je database server.

Stap 3: Koppelen van nginx en PHP via PHP-FPM sock

Nu we twee losse installaties van nginx en PHP-FPM hebben zullen we ze moeten koppelen zodat nginx php bestanden kan serveren. Standaard staat het sock bestand in de map /var/run. Dit kun je controleren door naar deze map te navigeren en te controleren of het bestand php5-fpm.sock bestand aanwezig is.

Nu moeten we nginx vertellen waar dit bestand te vinden is. Dit doen we door de hostfile aan te passen. De standaard hostfile is te vinden in de map: /etc/nginx/sites-available/default. Dit bestand kunnen we openen in de terminal met het volgende commando:
nano /etc/nginx/sites-available/default

Nu gaan we de inhoud van dit bestand vervangen met de volgende regels:
server {
listen 80; ## listen for ipv4; this line is default and implied
listen [::]:80 default_server ipv6only=on; ## listen for ipv6

root /usr/share/nginx/www;
index index.php index.html index.htm;

# Make site accessible from http://localhost/
server_name localhost;

location / {
try_files $uri $uri/ /index.html;
}

location /doc/ {
alias /usr/share/doc/;
autoindex on;
allow 127.0.0.1;
allow ::1;
deny all;
}

# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www;
}

location ~ \.php$ {
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
#fastcgi_param PHP_VALUE "open_basedir=/var/www";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_read_timeout 300;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
}
}

Om de wijzigingen daadwerkelijk door te voeren is het belangrijk om nginx te herstarten. Dat kan met het commando:
/etc/init.d/nginx restart

Stap 4: Overige configuraties instellen

Het is belangrijk dat je server veilig is, daarom gaan we nog wat extra wijzigingen in de php config file aanbrengen. Deze kunnen we vinden in de map /etc/php5/fpm/php.ini. Dit bestand gaan we openen met het commando:
nano /etc/php5/fpm/php.ini

Vervolgens gaan we de volgende instelling aanpassen: 'expose_php = On'. Deze instelling moet naar 'Off' verandert worden omdat dan de PHP versie niet meegegeven worden aan nginx. Dit zorgt er voor dat hackers niet kunnen zoeken op beveiligingsgaten in verouderde PHP versies.

Stap 5: Testen

Nu we alle instellingen goed hebben staan kunnen we testen of de installatie werkt door een bestand aan te maken in de map '/usr/share/nginx/www'. Dit bestand noemen we phpinfo.php en hierin plaatsen we het volgende:
<?php
phpinfo();
?>

Vervolgens hoeven we alleen de wijzigingen die we hiervoor hebben gedaan door te voeren door nginx en PHP-FPM te herstarten. Dit doen we met de volgende commando's:
/etc/init.d/nginx restart
/etc/init.d/php5-fpm restart

Vervolgens kun je naar het ip-adres van je server toegaan in je webbrowser en als het goed is moet hier de phpinfo pagina verschijnen.
© 2014 - 2017 Bramboos, het auteursrecht van dit artikel ligt bij de infoteur. Zonder toestemming van de infoteur is vermenigvuldiging verboden.
Gerelateerde artikelen
Linux: Gratis besturingssysteemKlagen over Windows is niet nodig. Je kunt gewoon een goed besturingssysteem installeren zoals Linux Ubuntu. Je kunt Ubu…
Ubuntu naast of in plaats van WindowsUbuntu naast of in plaats van WindowsAls je computer is gecrasht en Windows wil niet meer opstarten, terwijl je niet over een bootable cd-rom beschikt, of de…
Overstappen op Linux: waarom (niet)?Overstappen op Linux: waarom (niet)?Een aantal maanden geleden heeft Microsoft Windows 8 gelanceerd. Windows 8 werd echter lang niet door iedereen als een s…
Beginnen met GNU/Linux en het kiezen van een distributieDus je hebt de keuze gemaakt GNU/Linux op een computer te installeren? Geen slechte keus. Maar, nu komt de volgende stap…

Reageer op het artikel "Debian, nginx en PHP-FPM installeren"

Plaats als eerste een reactie, vraag of opmerking bij dit artikel. Reacties moeten voldoen aan de huisregels van InfoNu.
Meld mij aan voor de tweewekelijkse InfoNu nieuwsbrief
Infoteur: Bramboos
Gepubliceerd: 30-07-2014
Rubriek: Pc en Internet
Subrubriek: Hosting
Schrijf mee!