Hébergement web Rocket-Nginx : WProcket plugin avec Nginx

1
1. Depuis l'admin Wordpress, vous devez installler le plugin :
 
2. Pour la partie serveur avec Nginx PHP-FPM
Source :  https://github.com/maximejobin/rocket-nginx

NB : vous devez désactiver/désinstaller tout autre système de cache au préalable

1. Optimisation Wordpress de base (ceci permet d'alléger wordpress) :

Nous avons ajouter ceci à wp-config.php define('DISABLE_WP_CRON', true);

Puis cron : */15 * * * * wget -q -O /dev/null "https://www.votredomaine.fr/wp-cron.php"

Vérification facultative de son fonctionnement avec émission d'un log :

/usr/local/bin/php /home//votreuser/nomchemindossierfichierdusite/wp-cron.php -vvv 2>&1 > /home//votreuser/nomchemindossierfichierdusite/cron.log


2. Installation de Rocket-Nginx WP-rocket avec shell/ssh (putty)
(demandez l'activation de shell/ssh si pas activé, voir notre article dédié sur l'utilisation de shell/ssh) :

Remplacez 'votreuser' par le login/user de votre cPanel, et 'nomchemindossierfichierdusite' par le nom du dossier du site concerné ('public_html' si c'est le domaine principal du compte cPanel) :
##################
cd /home/votreuser/nomchemindossierfichierdusite OU cd /home/nomchemindossierfichierdusite/public_html
git clone https://github.com/maximejobin/rocket-nginx.git
cd rocket-nginx
cp rocket-nginx.ini.disabled rocket-nginx.ini
php rocket-parser.php
cp -p default.conf ../nginx.conf
##################


3. Dans votre cPanel, en bas, voyez l'icone Nginx-Manager
Nginx cPanel plugin
Config: choisissez le domaine à configurer, puis cliquez sur Configure
Après, vous arrivez sur le panneau de configuration principale de Nginx, voir ci-dessous
 
Default config Nginx
 
Par défault, votre compte est configuré sur UPSTREAM : httpd (point 1), qui correspond à PROXY au point 2
Recommandé : restez en UPSTREAM : httpd avec le template par défaut YOORshop Defaut
 
Si vous voulez utilisez UPSTREAM PHP, ceci ajoutera une autre complication avec le htaccess, vous référer à l'article dédié :
Ensuite, une fois changez le UPSTREAM vers PHP, assurez-vous que le template utilisé est 'YOORshop Wordpress'
 
Maintenant, dans 'Content Optimization', avec UPSTREAM PROXY/PHP, ceci doit rester désactivé : 'Expires / Cache-Control', si besoin, cliquez ensuite plus bas sur 'Save settings'

(Si les fichiers de votre site ne se trouvent pas dans le répertoire racine du domaine, vous devrez utiliser Subdirectory Applications en donnant le nom du sous-dossier, puis choisir TEMPLATE : Wordpress dans le sous-répertoire.)

Toujours dans Nginx-Manager, redémarrez depuis le début, choisissez le domaine. Vous devez charger correctement votre nouveau fichier nginx.conf (ligne nginx.conf)
Vous verrez une confirmation ou non si ce que vous avez entré est invalide ou si vous avez besoin de recharger nginx: Invalid/Require Reload, cliquez sur le bouton 'Reload' de la ligne située dessous : 'nginx.conf reload'. Si tout va bien, vous verrez sur la ligne nginx.conf : Valid
 
C'est bon ..rocket nginx est maintenant activé pour le compte. L'utilisateur peut changer des réglages par nginx.conf
 
Le cache est géré de manière dynamique par le plugin dan sl'admin WP. Pour purger le cache immédiatement, vous pouvez effacer le contenu du dossier : /wp-content/cache/wp-rocket/
 
Suggestion, vous pouvez réduire la validité du cache de 30 jours à 1 jour (expires 30d; = expires 1d;) ( vous pouvez aussi le régler en heures, 8h /exemple : (expires 30d; = expires 8h;), et reload nginx.conf par le plugin manager nginx :
 

###################################################################################################
# BROWSER CSS CACHE
#
location ~* \.css$ {
etag on;
gzip_vary on;
expires 30d;

}


###################################################################################################
# BROWSER JS CACHE
#
location ~* \.js$ {
etag on;
gzip_vary on;
expires 30d;

}


###################################################################################################
# BROWSER MEDIA CACHE
#
location ~* \.(ico|gif|jpe?g|png|svg|eot|otf|woff|woff2|ttf|ogg)$ {
etag on;
expires 30d;