nginx
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
nginx [2015/12/12 13:15] – luc | nginx [2018/10/13 20:32] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ===== NGINX ===== | ||
+ | |||
+ | C'est un serveur web, on le dit plutôt performant (plus qu' | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== NGINX + PHP ==== | ||
+ | |||
+ | === Explications et installation === | ||
+ | |||
+ | De base nginx ne permet pas l' | ||
+ | Explications | ||
+ | < | ||
+ | # paquets nécessaires : | ||
+ | yum isntall nginx php php-fpm | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | |||
+ | < | ||
+ | NGINX --> PHP-FPM --> executer le script php --> retourner le résultat à nginx | ||
+ | </ | ||
+ | |||
+ | Il y a 2 choses à configurer : le fichier '' | ||
+ | |||
+ | === fastcgi_params === | ||
+ | On trouve les meilleurs infos sur le site de [[https:// | ||
+ | |||
+ | < | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | |||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | |||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | |||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | |||
+ | fastcgi_param | ||
+ | |||
+ | # PHP only, required if PHP was built with --enable-force-cgi-redirect | ||
+ | fastcgi_param | ||
+ | </ | ||
+ | |||
+ | === Config des " | ||
+ | |||
+ | Faut rajouter ceci dans le fichier | ||
+ | |||
+ | < | ||
+ | location ~ \.php* { | ||
+ | fastcgi_pass | ||
+ | include | ||
+ | fastcgi_index | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ==== NGINX + PHPMYADMIN ==== | ||
+ | |||
+ | En tant que féniant, je gère mes bases de données via l' | ||
+ | Mais ça c'est lorsqu' | ||
+ | \\ | ||
+ | Voici mon fichier de conf pour utiliser '' | ||
+ | === Installation === | ||
+ | On ne trouve pas '' | ||
+ | <code bash>yum install phpmyadmin</ | ||
+ | Cette commande install les binaires de '' | ||
+ | On crée donc un fichier dans le dossier de nginx ''/ | ||
+ | |||
+ | === Configuration sous nginx === | ||
+ | ==On veut du https !== | ||
+ | On commence par mettre une redirection de http vers https, au cas où une url incomplète serait saisie : | ||
+ | < | ||
+ | server | ||
+ | listen | ||
+ | server_name | ||
+ | |||
+ | rewrite ^(.*) | ||
+ | } | ||
+ | </ | ||
+ | Ensuite, il faut configurer la connexion en https : | ||
+ | < | ||
+ | server | ||
+ | listen | ||
+ | server_name | ||
+ | |||
+ | ssl on; | ||
+ | ssl_certificate | ||
+ | ssl_certificate_key | ||
+ | ssl_protocols | ||
+ | </ | ||
+ | ==Du classique== | ||
+ | Ensuite viens des lignes que l'on retrouve dans tous les sites qui executent du php | ||
+ | < | ||
+ | location / { | ||
+ | index | ||
+ | } | ||
+ | |||
+ | location ~\.php$ { | ||
+ | fastcgi_pass | ||
+ | fastcgi_index | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | include | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | Les plus attentifs auront remarqué une différence par rapport à la conf classique, c'est le '' | ||
+ | |||
+ | ==Vous ne passerez pas !== | ||
+ | '' | ||
+ | < | ||
+ | # | ||
+ | include drop.conf; | ||
+ | location librairies/ { | ||
+ | deny all; | ||
+ | } | ||
+ | location setup/lib { | ||
+ | deny all; | ||
+ | } | ||
+ | location setup/ | ||
+ | deny all; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==En bref== | ||
+ | |||
+ | Le fichier de conf dans son ensemble : | ||
+ | < | ||
+ | ## nginx conf | ||
+ | ## fichier de conf perso pour phpmyadmin | ||
+ | # | ||
+ | server | ||
+ | listen | ||
+ | server_name | ||
+ | |||
+ | rewrite ^(.*) | ||
+ | } | ||
+ | |||
+ | server | ||
+ | listen | ||
+ | server_name | ||
+ | |||
+ | root / | ||
+ | |||
+ | ssl on; | ||
+ | ssl_certificate | ||
+ | ssl_certificate_key | ||
+ | ssl_protocols | ||
+ | |||
+ | location / { | ||
+ | index | ||
+ | } | ||
+ | |||
+ | location ~\.php$ { | ||
+ | fastcgi_pass | ||
+ | fastcgi_index | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | include | ||
+ | } | ||
+ | |||
+ | # | ||
+ | include drop.conf; | ||
+ | location librairies/ { | ||
+ | deny all; | ||
+ | } | ||
+ | location setup/lib { | ||
+ | deny all; | ||
+ | } | ||
+ | location setup/ | ||
+ | deny all; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | ==== WEBDAV sous NGINX ==== | ||
+ | |||