Comment configurer un site avec NGINX PHP-FPM

Par défaut, votre compte fonctionne en mode PROXY NGINX (httpd) avec Apache-LSAPI pour les serveurs Cloudlinux, and sur serveur cPanel, le mode par défaut est PROXY NGINX mais avec Apache+PHP FPM.

Il est  possible d'activer PHP FPM (performances égales) pour un domaine uniquement de votre compte, mais cela amène des spécificités :
- le fichier htaccess n'a plus d'éffet, les profils Nginx sont là pour compenser, et on peut personnaliser
- le sélecteur PHP habituel n'aura plus effet pour le choix de la version PHP pour le domaine concerné, vous devrez choisir la version PHP
- pour les sites web avec CMS, un profil Nginx adapté doit être choisi parmi notre liste au choix

Vous êtes actuellement en mode PROXY (httpd) par défaut sur le profil 'YOORshop defaut'. C'est à savoir pour revenir en arrière au cas ou...
Nginx with PHP-FPM


Changez votre profil Nginx
, par votre cpanel, section 'Nginx', cliquez sur 'Nginx-Manager'
Nginx cPanel plugin

Choisissez votre domaine puis cliquez 'Configure', vous voyez la configuration actuelle en haut à gauche.
Ensuite, voyez la ligne 'PROXY', changez pour 'PHP', et cliquez 'Select'


'Upstream', choisissez la version PHP voulue pour le domaine
'Template', vous devrez choisir le profil NGINX parmi ceux que nous avons configuré spécialement avec nos sécurités :
YOORshop default (pas de CMS en particulier)
YOORshop Prestashop (CMS Prestashop)
YOORshop Prestashop (CMS Prestashop avec microcache)
YOORshop WordPress (CMS WordPress)
YOORshop Joomla (Joomla CMS)
YOORshop Magento (Magento CMS)
YOORshop OpenCart (OpenCart CMS)
YOORshop Magento (Magento 2 CMS)

YOORshop default cloud (applications utilisant webdav)

YOORshop Prestashop-v2

Depuis version prestashop 1.7.2.4 et +, vous devrez configurer dans votre fichier nginx.conf (voir au bas de cet article les explications 'Personnalisation de la configuration Nginx' sinon vous aurez des 404), si par exemple le dossier admin est nommé : admin923vegrny, voici l'ajout :

set $admin_dir /admin923vegrny;

Ensuite, cliquez : 'Reload', vous verre ensuite 'valid' si le contenu nginx.conf était ok

Ensuite, vous devrez cliquer en haut de nouveau pour une option importante :
Select domain, and 'Configure'
Voir la ligne 'set expires header', cliquez sur 'enabled', puis sauvegardez en cliquant plus bas sur le gros bouton 'Save Settings'

(Ceci est le cache navigateur, c'est très important pour la performance, nous n'avons que de très rare cas ou cela ne convient pas à des sites : problème d'affichage image dynamiquement génére)
Pour ajouter des règles personnelles Nginx, voir au bas de cet article....

NB :
- Si il vous manque un profil NGINX, contactez-nous si besoin
- La version PHP du sélecteur PHP dans cPanel n'a plus d'éffet pour les domaines configurés avec PHP-FPM.
En conséquence, pour changer la version PHP d'un domaine déjà configué avec PHP-FPM, vous devez refaire le processus ci-dessus et changer la version PHP par BACKEND VERSION. PHP-FPM avec Nginx permet donc de changer la version PHP par domaine.

- certaines règles htaccess peuvent ne plus fonctionner. Si dysfonctionnement ou erreur après installation de plugins, regardez si votre fichier htaccess a été actualisé, il faudra transcrire ceci par une configuration personnalisée, voir en bas de cet article, contactez-nous si besoin pour de l'aide...
- vous pouvez changer la version PHP par domaine (Si vous avez besoin d'un accès distant mysql plus flexible, et changer version PHP sans Nginx, nous contacter)
- si vous voyez des pages érreurs avec code 503, vous devrez nous contacter afin qu'on améliore les réglages PHP-FPM du site
Avertissement :
Nous avons déjà vu, très rare, des sites web php personnalisés entièrement créés par un développeur, qui peuvent ne pas fonctionner avec Nginx PHP-FPM en raison de réécritures codées en dur dans le code php. Ceci peut être résolue soit en changeant le code du site web, soit si vous nous décrivez précisément les règles afin de pouvoir les traduire en langage Nginx.

Voici la liste de profils supplémentaires existant sur le serveur et prêt à l'utilisation avec Nginx FPM  :
SilverStripe
CMS Made Simple
Codeignitor
Moodle
OwnCloud
WHMCS
Laravel
Snipe-IT
Wordpress+FastCGI(microcache)
Magento+Fooman Speedster
Wordpress+WPSuperCache
Wordpress+w3tc
Wordpress+w3tc+minify
CakePHP
Drupal+Boost
Yourls Short URL
Bolt CMS
LiteCart
PicoCMS
Respond
Symfony
Yii
MediaWiki
XenForo
Chevereto v3


Personnalisation de la configuration Nginx

Créez un fichier nommé nginx.conf dans le dossier contenant les fichiers et dossier du site web/domaine concerné
Entrez dans ce fichier ce que vous désirez dans le langage compatible Nginx bien sûr sinon cela ne marchera pas, exemples :
redirections, directive de cache, blocage IP...
NB : toutes les fonctions nginx possible ne fonctionneront pas, nous questionner pour de plus amples informations

Allez sur le plugin 'Nginx-Manager' depuis votre cPanel, choisissez le domaine et 'Configure'
Vous verrez une confirmation avec la ligne '
nginx.conf', si affiché 'Valid', voir la ligne suivante nommée 'nginx.conf reload', et cliquez sur 'Reload' (10-30 secondes pour que le serveur prenne en compte ces réglages)

Exemple de personnalisation de conf nginx :

Vous voyez beaucoup de visites avec user agent Java dans vos logs d'accès. Ce n'est pas forcément inquiétant car Java est utilisé par de nombreux sites pour collecter des données, et des fois les rediffuser à votre avantage dans le web. Mais, si vous voulez les stopper, mettez ceci dans votre fichier nginx.conf :

if ($scanners2 = 1) {

        rewrite ^ https://www.hostingfilters.com/scanners.html permanent;

A lire aussi :
https://support.yoorshop.hosting/knowledgebase/4056/hebergement-web-rocket-nginx-wprocket-plugin-avec-nginx.html

Contactez-nous si besoin pour de l'aide...

Consultez aussi

Serveur dédié avec infogérance

Nous pouvons vous proposer des serveurs dédiés performants en infogérance avec WHM/cPanel sur...

Configuration recommandée avec offres HA

Prestashop1. Réglages Performances :MySQL Caching type : Fichier système 2. Modules à désactiver...

Gestion des ressources revendeurs sous cloudlinux

Au niveau de votre compte revendeur, vous pouvez et devez visualiser les ressources en temps réel...

Créer un site web de developpement avec un sous-domaine

Si votre domaine utilise déjà nos DNS, c'est très simple : Créer un sous-domaine dans cPanel...