
Nginx est un serveur web HTTP ainsi qu’un proxy inverse fonctionnant avec php-fpm. La configuration des virtual hosts s’effectue dans le dossier /etc/nginx/sites-available.
On copie le fichier de configuration par défaut dans sites-available pour configurer un nouveau virtual host :
1 |
xavier@hostname:~$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com |
On ouvre le fichier de configuration :
1 |
xavier@hostname:~$ sudo nano /etc/nginx/sites-available/example.com |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
server { listen 80 default_server; # listen for ipv4 # listen [::]:80 default_server; # listen for ipv6 root /home/user/www; # folder location of php/html files index index.php index.html; autoindex off; location / { try_files $uri $uri/ /index.php } location ~\.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+?\.php)(/.+)$; fastcgi_pass unix:/var/run/php7.0-fpm-example.sock; fastcgi_index index.php fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } resolver 8.8.8.8 8.8.4.4 195.154.228.249 62.210.16.9 valid=300s; resolver_timeout 3s; } |
PHP et Nginx tournent sur la même machine, on utilise un socket Unix, resolver pointe sur les serveurs DNS Google et Online.net.
On crée ensuite un lien symbolique vers /etc/nginx/sites-enabled/ :
1 |
xavier@hostname:~$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.con |
On configure ensuite php-fpm :
1 |
xavier@hostname:~$ sudo nano /etc/php/7.0/fpm/pool.d/example.conf |
1 2 3 4 5 6 7 8 9 10 11 12 |
[example.com] user = myUserName group = myUserGroup listen = /var/run/php7.0-fpm-example.sock listen.owner = www-data listen.group = www-data pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 chdir = / |
On redémarre les services Nginx et php7.0-fpm :
1 2 |
xavier@hostname:~$ sudo systemctl restart nginx xavier@hostname:~$ sudo systemctl restart php7.0-fpm |
Et hop, le serveur est configuré pour http://example.com.