Nginx

De drev
Aller à : navigation, rechercher

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;
    }
}

}

Sources