Nginx
Sommaire
Installation
pacman -S nginx
Lancer nginx
Sous linux avec systemctl
`systemctl start nginx`
Ou
`service nginx restart`
Fichier de configuration
/etc/nginx/nginx.conf
PHP
La communication entre PHP et nginx se fait par FastCGI
Installer PHP Fast Process Manager
apt install php5-fpm
ou, sous Arch Linux
pacman -S php-fpm
Configurer PHP
Pour éviter l'erreur
Error: No input file specified
1. Verify that variable open_basedir in /etc/php/php.ini contains the correct path specified as root argument in nginx.conf (usually /usr/share/nginx/). When using PHP-FPM as FastCGI server for PHP, you may add fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; in the location block which aims for processing php file in nginx.conf.
Recharger la configuration
(Arch Linux)
systemctl restart nginx systemctl restart php-fpm
Configurer nginx
- Soit chaque configuration de server est dans un fichier separé dans /etc/nginx/sites-available
le fichier /etc/nginx/nginx.conf ne contient alors que
include servers-enabled/*;
Créer une nouvelle conf dans sites-available et le publier avec un lien symbolique dans site enabled
cp /etc/nginx/sites-available/default /etc/nginx/sites-available/new ln -s /etc/nginx/sites-available/new /etc/nginx/sites-enabled/new service nginx restart
et par exemple dans /etc/nginx/sites-available/example
(Ubuntu)
index index.php location ~ \.php$ { include snippets/fastcgi-php.conf; # With php5-fpm: fastcgi_pass unix:/var/run/php5-fpm.sock; }
- Ou bien toute les configues sont directement dans /etc/nginx/nginx.conf
(Arch)
worker_processes 1; events { worker_connections 1024; } http{ include /etc/nginx/mime.types; server { listen 80; server_name localhost; root /usr/share/nginx/php/olivier.drevet.free.fr; index index.php; fastcgi_read_timeout 500; location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/php-fpm.sock; fastcgi_index index.php; include fastcgi.conf; autoindex on; } } server { listen 8080; server_name localhost; root /usr/share/nginx/php/SA_DEMO; index index.php; location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/php-fpm.sock; fastcgi_index index.php; include fastcgi.conf; autoindex on; } } }