Comment configurer plusieurs sites WordPress en utilisant nginx
Les LTI commandés et configurés peuvent également fonctionner sous Debian Linux. Les fournisseurs commerciaux installent généralement le système d’exploitation avant votre inscription. Familiarisez – vous avec les commandes de la console UNIX. Au moins, vous ne devriez pas avoir peur de les expérimenter! Voici ce que nous allons installer. Tout d’abord, nous allons commencer par MySQL et l’adapter à notre environnement de mémoire limité.
Puis nginx avec la configuration de base. Nginx a besoin d’un moyen externe de communiquer avec php, donc nous devons installer PHP – fpm, un moyen de gérer les processus PHP FastCGI, de montrer de bonnes performances dans le Benchmarking (Oui, c’est ainsi que wordpress.com atteint ses niveaux de performance) et de les affiner. Nous utiliserons PHP et le cache PHP optionnel (APC), un moyen d’accélérer le traitement de PHP, en conjonction avec le plug – in W3 total cache, qui à son tour est entièrement compatible avec nginx. Enfin, nous expliquerons comment héberger plusieurs sites avec des noms de domaine complètement différents en utilisant une installation WordPress multisite unique.
Mises en garde et Disclaimers avant de commencer ce tutoriel, il y a plusieurs choses que vous devriez garder à l’esprit. Choisir la meilleure configuration pour WordPress est une tâche complexe, car elle dépend d’une part de la définition du meilleur; Mais d’un autre côté, cela dépend de la configuration de WordPress (et du matériel qui l’exécute), de son utilisation, du type de données que vous hébergez (comme les images et les fichiers médias) et, surtout, de vos visiteurs et de ce qu’ils font.
Différents environnements ne peuvent pas reproduire les mêmes résultats.
Par exemple, certains remettent sérieusement en question l’affirmation selon laquelle nginx + PHP – fpm est en fait un peu plus lent qu’Apache + mod _ PHP, à moins que vous n’ayez beaucoup de contenu statique (parce que nginx le fournira directement sans avoir à contacter l’arrière – plan PHP – fpm). Pour économiser beaucoup de mémoire, une solution utilisant varnish + Apache + mod _ PHP peut vaincre une solution nginx + PHP – fpm hautement optimisée. Ce n’est que parce que nginx + PHP – fpm pourrait être meilleur pour les types de configuration WordPress. Ce n’est pas parce que c’est mieux pour toi.
Cependant, ce tutoriel peut vous aider à extraire la plupart des performances d’un petit serveur privé virtuel si votre environnement est très petit, avec peu de ressources, ou si vous préférez répartir la charge entre plusieurs petites instances Cloud plutôt que de choisir un grand serveur avec une grande quantité de mémoire et de processeurs. Lors de l’installation de MySQL, votre fournisseur de serveur virtuel vient de vous envoyer un mot de passe pour accéder à votre tranche! Il est temps de se connecter via SSH et de commencer l’installation. Nous commencerons par MySQL. Certaines versions pré – installées d’Ubuntu peuvent avoir inclus MySQL 5.5 dans la liste des paquets. Sinon, vous devez:
Sudo APT get install MySQL Server est maintenant temps de modifier MySQL pour s’adapter au moins de mémoire possible tout en continuant à fonctionner correctement. La première option consiste à utiliser myisam ou InnoDB, les deux moteurs de table les plus populaires. Myisam est le plus ancien et InnoDB est livré avec MySQL 5.5 par défaut. Les discussions sur Internet sur les solutions qui conviennent le mieux à WordPress sont en plein essor, ce qui pourrait à nouveau devenir une question de goût personnel et d’environnement spécifique. Il est important que vous n’en utilisiez qu’un. Il n’est pas utile que MySQL fonctionne en même temps, ce qui vous permettra
Poste de codage manuel
Nombre maximum de paquets autorisés = 16 M
[MySQL]
Pas de rafraîchissement automatique
[isamchk]
Clé \ \ u buffer = 16M
#
Important: Vous pouvez écraser d’autres paramètres dans ce fichier!
Le fichier doit se terminer par ». CNF ‘, sinon ils seront ignorés.
#
C’est pas vrai! Includedir \/ etc \/ MySQL \/ conf.d
Quelques brèves notes sur la configuration ci – dessus: vous avez peut – être vu des tutoriels pour améliorer les performances sous MySQL, même de Matt Mullenweg lui – même, et les paramètres sont un peu plus élevés. Ici, nous cherchons un compromis: Nous ne voulons pas que MySQL se comporte mal, mais nous ne voulons pas qu’il consomme trop de mémoire.
L’aspect le plus surprenant pourrait être « sans réseau » (et tous les aspects qui y sont associés, comme sauter la résolution de noms, etc.) et se débarrasser complètement d’InnoDB. Cela nous permet d’économiser un peu de tampon réseau, mais cela signifie bien sûr que WordPress doit contacter MySQL sur la socket UNIX et l’installer sur la même machine; On verra comment ça marche plus tard. Vous préférez peut – être utiliser deux serveurs. Si vous préférez exécuter deux serveurs côte à côte, l’un avec MySQL et l’autre avec nginx \/ wordpress, vous devez bien sûr activer le réseau. Cela pourrait être un meilleur environnement pour les réseaux basés sur le cloud: certains fournisseurs vous permettent d’allouer un certain nombre de processeurs, de mémoire et de disques, mais vous pouvez démarrer autant d’instances que nécessaire.
En général, seule une partie d’entre elles est accessible à partir du monde extérieur et le reste se trouve à l’intérieur d’un réseau « privé » sans routage vers l’extérieur. Les fournisseurs de Cloud ne facturent généralement pas le trafic entre vos instances virtuelles, mais seulement le trafic qui traverse les frontières du « monde réel ». Cela signifie que même si vous avez des connexions réseau ouvertes dans ce cas, elles sont complètement isolées du monde extérieur et donc protégées. Bien sûr, vous pouvez copier l’Instance MySQL (ou
Chambre avant), si nécessaire. Mais dans ce tutoriel, nous restons simples: Tout est dans le même serveur privé virtuel, donc pas besoin de réseautage: Nous pouvons communiquer via les sockets UNIX. Mode de démarrage MySQL: le service MySQL démarre Enfin, vous devez définir un mot de passe racine pour MySQL (également appelé « compte d’administration»), car il est vide par défaut. Il y a plusieurs façons de le faire, mais Ubuntu 12.04 pour MySQL 5.5 a une commande précise: sudo dpkg reconfigure mysql – Server – 5.5 Dans d’autres distributions, vous devez utiliser la commande suivante: sudo mysqladmin – u root – H localhost password \
Sudo mysqladmin – u root – h myhostname password \
Nginx = stable # développer nginx = pour la dernière version de développement
Ajouter un dépôt APT PPA: nginx \/ $nginx
Mise à jour des sources
APT get install nginx si vous rencontrez une erreur inexistante sur add APT repository, nous vous recommandons d’installer les propriétés du logiciel Python: sudo APT get install Python Software Properties, puis d’exécuter à nouveau la commande précédente. Aperçu de la configuration nginx Serveur Web Apache vous pouvez exécuter nginx et Apache côte à côte sur le même serveur (par exemple, laissez nginx traiter
Le contenu statique et Apache travaillent avec php), mais pour ce tutoriel, nous supposerons que seul nginx fonctionnera, et nous utiliserons la même structure de répertoire de données (la structure de répertoire dans laquelle se trouvent les fichiers réels du site) que Apache utilise. Pourquoi? Si vous décidez de supprimer nginx, il est facile de passer à Apache; Ou, si vous étudiez des tutoriels sur le Web qui supposent que vous avez une structure \
L’extension PHP5 dont vous avez vraiment besoin n’est pas toujours facile! Dans ce tutoriel, nous voulons que PHP5 ait le moins d’extensions possible (pour nous assurer qu’il prend très peu de mémoire!), Mais nous en avons besoin au moins, car WordPress (ou quelques plugins) en dépendra. J’ai surtout suivi les conseils de Rahul Bansal. La première chose à faire est de s’assurer d’obtenir PHP 5.4 (au lieu de PHP 5.3 Par défaut livré avec Ubuntu 12.04 Lts), ce qui signifie ajouter un autre dépôt pour la dernière version. Une version plus récente d’Ubuntu pourrait avoir PHP 5.4 Par défaut, donc vous voudrez peut – être sauter cette étape. Sudo ajouter APT repository PPA: Ondrej \/ PHP5
Sudo APT get Update nous devons maintenant installer PHP5 et tous les modules nécessaires: sudo APT get install PHP5 Common PHP5 MySQL PHP5 xmlrpc PHP5 CGI PHP5 Curl PHP5 GD PHP5 CLI PHP5 fpm PHP5 app PHP5 Dev PHP5 mcrypt pour certains plug – ins WordPress, vous devrez peut – être ajouter PHP5 Pear à cette liste. Et d’autres (comme PHP5 IMAP, si vous utilisez une sorte de communiqué de presse envoyé à l’utilisateur). Les utilisateurs internationaux peuvent ajouter PHP5 Intl. Normalement, j’ajoute PHP5 tidy, qui est utilisé par le cache total W3, mais ce n’est pas strictement nécessaire. Configuration nginx afin de vous donner une idée générale de ce que fait la configuration nginx ci – dessous, il est préférable de comprendre que nginx est configuré avec des règles: lorsqu’il obtient une URL, nginx devra faire ce qu’il fait: rechercher des fichiers statiques dans un répertoire spécifique (pour des images, css, etc.), passer des scripts PHP à PHP – fpm, ou bloquer l’accès (pour des raisons de sécurité). Nginx peut bien sûr effectuer plus de traitement, par exemple en ajoutant des en – têtes non expirés, en supprimant les demandes de Cookie pour les fichiers statiques (pour un meilleur cache), ou en Gzip dynamiquement tout le contenu (pour économiser la bande passante). Voici le fichier \/ etc \/ nginx \/ nginx. Traitement
Mode Multisite! Inspiré par les recommandations de WordPress, la configuration WordPress à site unique (sauvegardée dans \/ etc \/ nginx \/ conf.d \/ wordpress.conf) est présentée ci – dessous. L’entrée WordPress sur les wikis org et nginx, qui décrit les meilleures pratiques et comment éviter quelques pièges communs # Règles du blog unique WordPress.
Conçu pour être inclus dans n’importe quel bloc serveur {}.
Cet ordre peut sembler étrange – si la règle suivante échoue, essayez de correspondre en dernier.
# http:\/\/wiki.nginx.org\/HttpCoreModule
Emplacement
Try _ files $Uri \/ \/ index. Php $ Args;
}
Ajouter une barre oblique arrière à la demande de gestion * \/ WP.
Outrepasser \/ WP admin $$Scheme: \/ \/ $host $Uri \/ permanent;
Instructions pour envoyer l’en – tête expires et fermer 404 enregistrements d’erreurs.
Emplacement ~ * ^. + \. (XML | Ogg | Ogg | ogv | SVG | SVG | svgz | EOT | OTF | Wolff | Wolff | MP4 | TTF | CSS | RSS | Atom | JS | JS | JPEG | GIF | PNG | PNG | ICO | zip | zip | tgz | tgz | GZ | GZ | GZ | GZ | GZ | GZ RAR | BZ2 | doc | XLS | Exe | pp124; t | Tar | Mid | midi | WAV | BMP | RTF) $
Accès _ déconnecter; Log _ not found off (log not Closed); Délai maximal d’expiration;
}
Décochez la ligne ci – dessous pour le plug – in de cache approprié, s’il est utilisé.
Inclut le super cache global \/ wordpress WP. Morphologie;
Inclut global \/ wordpress – W3 – total – cache. Morphologie;
# pass all. Fichiers PHP vers le serveur PHP fpm \/ php fcgi.
Emplacement ~. Pesos philippins
Zero Day Vulnerability Defense.
# http:\/\/forum.nginx.org\/read.php?2 , 88845, page 3
Si le fichier n’est pas stocké sur ce serveur, il ne fonctionnera pas correctement (Erreur 404), qui est
Il est tout à fait possible d’utiliser PHP fpm \/ php fcgi.
Si vous avez configuré PHP fpm \/ php fcgi sur une autre machine, Commentez la ligne \
Try _ files $uri = 404;
FastCGI _ Split path info ^ (+.Php) (\/. +) $;
Note: Vous devriez avoir \
Inclure le paramètre FastCGI _ Parameter;
Index FastCGI \ U. Php;
FastCGI _ Param script FILENAME $document root $FastCGI script name;
FastCGI _ intercept error on;
FastCGI _ keep conn on;
FastCGI \ u via PHP5 fpm;
} maintenant, les règles que WordPress exécute en mode multisite (sauvegardées dans \/ etc \/ nginx \/ conf.d \/ wordpress-mu.conf): # WordPress multi
Règle du sous – répertoire du site.
Conçu pour être inclus dans n’importe quel bloc serveur {}.
Index. Php;
Cet ordre peut sembler étrange – si la règle suivante échoue, essayez de correspondre en dernier.
# http:\/\/wiki.nginx.org\/HttpCoreModule
Emplacement
Try _ files $Uri \/ \/ index. Php $ Args;
}
Ajouter une barre oblique arrière à la demande de gestion * \/ WP.
Outrepasser \/ WP admin $$Scheme: \/ \/ $host $Uri \/ permanent;
# pass all. Fichiers PHP vers le serveur PHP fpm \/ php fcgi.
Emplacement ~. Pesos philippins
Zero Day Vulnerability Defense.
# http:\/\/forum.nginx.org\/read.php?2 , 88845, page 3
Si le fichier n’est pas stocké sur ce serveur, il ne fonctionnera pas correctement (Erreur 404), ce qui est entièrement possible via PHP fpm \/ php fcgi.
Si vous avez configuré PHP fpm \/ php fcgi sur une autre machine, Commentez la ligne \
Try _ files $uri = 404;
FastCGI _ Split path info ^ (+.Php) (\/. +) $;
Note: Vous devriez avoir \
Inclure le paramètre FastCGI _ Parameter;
Index FastCGI \ U. Php;
FastCGI _ Param script FILENAME $document root $FastCGI script name;
FastCGI _ intercept error on;
FastCGI \ u via PHP5 fpm;
}
Emplacement ^ \/ fichier \/ (. *) $
Try _ file \/ WP content \/ blog. Dir \/ $blogid \/ $Uri \/ WP contient le fichier \/ Ms. Php? Documents = 1 dollar des États – Unis;
Accès _ login; Log _ not found on; Délai maximal d’expiration;
}
Évitez PHP readfile ()
Emplacement ^ ~ \/ blog. Table des matières
Interne
Alias \/ var \/ www \/ wordpress \/ WP content \/ blogs. Table des matières;
Accès _ déconnecter; Log _ not found off (log not Closed); Délai maximal d’expiration;
}
Instructions pour envoyer l’en – tête expires et fermer 404 enregistrements d’erreurs.
Emplacement ~ * ^. + \. (XML | Ogg | Ogg | ogv | SVG | SVG | svgz | EOT | OTF | Wolff | Wolff | MP4 | TTF | CSS | RSS | Atom | JS | JS | JPEG | GIF | PNG | PNG | ICO | zip | zip | tgz | tgz | GZ | GZ | GZ | GZ | GZ | GZ RAR | BZ2 | doc | XLS | Exe | pp124; t | Tar | Mid | midi | WAV | BMP | RTF) $
Accès _ déconnecter; Log _ not found off (log not Closed); Délai maximal d’expiration;
} la différence concerne principalement le téléchargement de fichiers, car chaque installation WordPress multisite a une zone \
Configuration Nous pouvons commencer par \/ etc \/ php5 \/ fpm \/ php. Ça n’a pas besoin de beaucoup de changement. Il suffit de vérifier Memory _ limit = 128M (vous pouvez l’éditer pour consommer moins de mémoire, mais gardez à l’esprit que le cache total W3 consommera beaucoup de mémoire en échange de performances ultrarapides). Vous avez peut – être remarqué dans la configuration de nginx que nous devrions utiliser CGI. Fix _ pathinfo = 0. N’oubliez pas de fixer une date. Fuseau horaire (requis par PHP 5.4). Le reste devrait être plus ou moins conforme aux normes. Vérifiez dans \/ etc \/ php5 \/ fpm \/ conf.d quel module PHP5 doit être chargé. Dans mon cas, je dois éliminer 20 SNMP. Je n’en ai pas besoin. Chaque fichier appelle l’extension correspondante et vous permet de définir d’autres paramètres. Vous devriez avoir cette liste: 10 PDO. Temps de décollage estimé
20 APC. Temps de décollage estimé
20 boucles. Temps de décollage estimé
20 GD. Temps de décollage estimé
20 millions de roupies. Temps de décollage estimé
20 MySQL. Temps de décollage estimé
20 mysqli. Temps de décollage estimé
20 – PDO \ u MySQL. Temps de décollage estimé
20 xmlrpc. INI nous devons maintenant configurer le service PHP pour nginx. Php – fpm a un fichier de configuration supplémentaire pour cela, stocké dans \/ etc \/ php5 \/ fpm \/ php – fpm. Morphologie. Nous n’avons pas besoin de modifier ce fichier; C’est la configuration globale de PHP – fpm. Puis démarrez quelques piscines. De même, PHP – fpm fonctionne un peu comme un serveur Web avec un hôte virtuel: PHP – fpm. Conf a une configuration générale, puis nous avons une configuration de pool séparée dans \/ etc \/ php5 \/ fpm \/ Pool. D \/ Par défaut, il n’y a qu’un seul Pool, www.conf, et c’est tout ce que nous devons changer. C’est un long fichier, et je vous montre juste quelques changements et contrôles que vous devriez faire: Listen = \/ var \/ Run \/ PHP5 fpm. Chaussettes
PM = dynamique
Après – midi. Maximum _ enfant = 20
Après – midi. Start _ server = 3
Après – midi. Min _ Save server = 1
Après – midi. Max _ spare Servers = 5
Après – midi. Max _ requests = 500 cela semble familier, n’est – ce pas? Tout d’abord, nous devons nous assurer que PHP – fpm utilise la même prise UNIX que nginx. Par conséquent, nous utiliserons l’allocation dynamique de pool: dans ce cas, nous utiliserons PHP
– fpm commence par 3 serveurs (ce qui signifie qu’il y a 3 processus qui écoutent les requêtes PHP de nginx), limite à 20 au maximum, ne conserve pas trop de serveurs de sauvegarde et est tué chaque fois qu’un sous – processus traite 500 requêtes. Cela reflète bien sûr ma configuration: 512 Mo de RAM, dont certains sont certainement nécessaires pour MySQL et nginx lui – même (bien que nginx ne consomme pas beaucoup de mémoire). Après avoir soigneusement ajusté les paramètres, cela m’a permis de traiter 10 requêtes en même temps et de stocker tous les processus en mémoire: pas besoin d’échange! Mais, bien sûr, cela dépend du nombre d’extensions que vous téléchargez sur PHP5, du niveau de compétition dont vous avez vraiment besoin (10 connexions simultanées ne sont pas très nombreuses), de la vitesse à laquelle vous chargez la page Web (cela dépend à son tour des plug – ins, widgets, appels externes, etc.)… Le truc est de manipuler ces chiffres jusqu’à ce que vous obteniez une performance acceptable, Évitez d’échanger des disques et de laisser les utilisateurs attendre des pages sans fin! Si vous souhaitez avoir des journaux séparés qui signalent des situations telles que la mort prématurée du processus en raison d’un manque de ressources ou de problèmes de connexion nginx, et des erreurs similaires, ajoutez ce qui suit au fichier de configuration du pool www.conf: PHP _ admin value [Error log] = \/ var \/ log \/ fpm php. Www.log sinon, PHP – fpm résoudra simplement la plupart des erreurs via nginx (mais pas toutes) et apparaîtra dans le journal du serveur Web. Lors du démarrage de PHP – fpm, utilisez: sudo Service PHP5 fpm START pour vérifier si Ubuntu démarre MySQL, nginx et PHP – fpm au démarrage (c’est le comportement par défaut des nouveaux paquets d’installation qui fournissent des services réseau); Sinon, utilisez Update RC. Contrôlez – les tous. Installation de WordPress
Mot de passe La plupart des gens installent WordPress directement à partir de la source, et le site du Guide du serveur Ubuntu est une bonne référence. Sur…
Personnellement, je n’aime pas la façon dont Ubuntu traite WordPress comme une application. Il sera mieux intégré dans le système générique, mais vous n’obtiendrez des mises à jour que si l’équipe Ubuntu le juge nécessaire. Regardez la date de la dernière mise à jour, il y a longtemps. Pour WordPress, le dernier et le meilleur et le plus sûr choix (du point de vue de la sécurité), donc je recommande de l’installer manuellement. Bien que nginx puisse lire n’importe quoi depuis presque n’importe où dans la structure du Répertoire, comme décrit ci – dessus, je suis fidèle à l’organisation d’apache \/ Ubuntu, ce qui signifie que tout est placé sous \/ var \/ www, dans ce cas, y compris l’hôte virtuel qui contient l’installation WordPress. Sudo – I
CD \/ var \/ www
– ou WordPress. Goudron Guangzhou http:\/\/wordpress.org\/latest.tar.gz
Tar zxvf WordPress. Goudron Guangzhou
Chown – R www data: www data \/ var \/ www \/ WordPress
RM WordPress. Goudron Gz nous devons maintenant gérer la base de données. WordPress a besoin d’une base de données \
[protégé par courriel] identifié par « veryhardtofigureout2013! »;
Actualiser les permissions; Vous pouvez maintenant quitter la session en tapant: exit. Normalement, je me connecte immédiatement après en utilisant le nom d’utilisateur \/ mot de passe que je viens de créer pour m’assurer que tout va bien. Il est donc temps de configurer! WordPress fera presque tout seul, mais nous devons d’abord informer nginx de notre nouveau site. Ouvrez \/ etc \/ nginx \/ sites disponibles \/ mydomain. Conf et tapez ce qui suit: Map $http _ host $blogid {
La valeur par défaut est 0;
Mydomain. Com 1;
}
Serveur {
Serveur _ name mydomain. Format commun de noms de domaine;
Root \/ var \/ www \/ wordpress;
Accédez à _ log \/ var \/ log \/ nginx \/ mydomain. Accès com. Journal de bord
Erreur _ log \/ var \/ log \/ nginx \/ mydomain. Erreur com. Journal de bord
Y compris conf.d \/ restrictions. Morphologie;
Inclut \/ var \/ www \/ wordpress \/ nginx. Morphologie;
Y compris conf.d \/ wordpress Mu. Morphologie;
On en reparlera plus tard. CD \/ etc \/ nginx \/ sites activés
In – S \/ etc \/ nginx \/ available sites \/ mydomain. Morphologie
Touchez \/ var \/ www \/ wordpress \/ nginx. Conf note que la dernière commande est une exigence pour le cache total W3 (le fichier doit exister et peut être lu par l’utilisateur du serveur Web). Enfin, pour vous assurer que tout ceci est lisible à partir du serveur Web, lancez l’installateur automatique WordPress
– Oui. N’oubliez pas de ne pas nommer le nom du superadministrateur “admin”: Comme mentionné ci – dessus, la dernière attaque Botnet sur le site WordPress a spécifiquement cherché “admin” et a tenté de casser son mot de passe. Après cela, vous devriez être en mesure de vous connecter; WordPress fonctionne toujours en mode site unique. Passons à l’étape suivante! Pour activer WP en mode multisite, vous devez activer \/ var \/ www \/ wordpress \/ WP config. PHP et votre éditeur de texte préféré. Si tu l’as déjà fait, ça devrait être facile. Il est écrit: \/ * C’est tout, arrêtez l’édition! Happy Blog Ajouter la ligne suivante: \/ * multisite
Définir (‘WP _ allow multisity’, True); Pour mettre à jour votre navigateur, vous devriez avoir une nouvelle option dans Outils > Configuration du réseau: Pour ce tutoriel, je le configurerai comme un sous – domaine distinct. Il y a une raison à cela: les règles de nginx seront plus simples plus tard. À ce stade, si vous appuyez sur installer, WP effectue une certaine validation et peut renvoyer une erreur liée au domaine Wild manquant. Ne t’inquiète pas. Ce qui importe ensuite, c’est la configuration du WP. Php doit être édité à nouveau. Comme vous pouvez le voir, WP \
Définir (‘subsomain _ install’, True);
Définition (« domaine _ Current site», « mydomain.com»);
Définition (‘path _ Current site’, ‘\/’);
Définition (« Site _ ID Current site», 1);
Définition (« blog _ ID Current site», 1); N’oubliez pas qu’il se trouve sous la ligne define (‘WP _ allow multiple’, True); Mais ne modifiez pas avant la ligne qui dit \/ *! Happy Blog Vous devez vous connecter à nouveau, mais le jeu est terminé et l’installation de WP multisite est pratiquement terminée. Ajouter un plug – in Ajoutez vos plug – ins préférés. Nous avons besoin d’au moins le cache total W3. Je suppose que vous connaissez le processus d’installation du plug – in.
Ça dépend de toi! Vous devez avoir besoin d’une cartographie de domaine. Nous ajouterons certainement des mappings de domaine WordPress Mu. Il y a une discussion théologique approfondie sur pourquoi cela ne fait pas partie du cœur de WordPress. Fondamentalement, vous avez deux options pour avoir un réseau de site: soit ils sont tous dans le même domaine, mais dans des répertoires différents (par exemple mydomain.com \/ sito1, mydomain.com \/ sito2, etc.), soit ils sont dans des sous – domaines différents (sito1.mydomain.com, sito2.mydomain.com). Mais dans la plupart des scénarios réels, chaque site a un domaine complètement différent que vous voulez gérer en même temps. C’est la tâche de la cartographie des domaines WordPress Mu: vous leur direz de cibler un domaine, comme mes autres domaines. Com et altrodominium. Com Visitez des sites spécifiques sur l’installation. Bien sûr, vous avez besoin de l’aide de nginx. L’étape suivante consiste à ajouter les deux sites et à s’assurer qu’ils sont correctement dirigés au bon endroit et que nginx peut transmettre la demande au bon endroit. Tout cela, tout en veillant à ce que le cache total W3 fonctionne! Tout d’abord, nous confirmons que le cache total W3 a été configuré correctement jusqu’à présent. Pendant que vous êtes toujours dans le panneau de gestion du réseau, suivez le lien vers performance > tableau de bord et cliquez sur valider la configuration. Si tout se passe bien, vous devriez avoir quelque chose comme ça: Il est important ici de détecter nginx. Vous verrez également que nous avons activé le module PHP override cache (APC). Allez maintenant à performance > paramètres généraux et activez au moins la mise en cache de page, la réduction, la mise en cache de base de données, la mise en cache d’objets (la mise en cache du navigateur devrait être activée par défaut). Pour cette méthode, utilisez opcache: Alternative PHP Cache (APC). Cliquez sur enregistrer tous les paramètres pour enregistrer la configuration. Le w3tc devrait vous dire de vider le cache de page
Ni, n’utilisez pas wordpress pour traiter les erreurs 404 des objets statiques (parce que j’aime personnaliser les pages d’erreur!). Notez que le w3tc est un plug – in avec un cycle de développement très actif. Cela signifie que de nombreuses options sont constamment ajoutées et \/ ou supprimées, surtout lorsqu’elles sont un peu floues ou difficiles à comprendre ce qu’elles font. Si vous n’avez lu ce tutoriel que des années après l’avoir écrit, je vous recommande de consulter les tutoriels spécifiques w3tc les plus récents pour savoir quelles options ont changé et ce qu’elles font. Maintenant, installons le plug – in WordPress Mu Domain Mapping. N’oubliez pas que cela doit être activé sur le Réseau pour fonctionner. Ensuite, allez au domaine > cartographie de domaine et définissez les cases à cocher suivantes dans les options de domaine: Par conséquent, une fois ce tutoriel terminé, vous devriez avoir un réseau de trois sites: mon domaine. Com, mio altrodominio. Com et altrodominium. Format générique de nom de domaine. Ce que nous faisons est la cartographie suivante: mydomain. Com pointe vers l’installation globale, le site par défaut, mydomain. Comme un autre médicament pour moi. Com pointe vers le site 1. Domaine musculaire. Utilisez altrodominium. Com pointe vers le site 2. Domaine musculaire. Com tout d’abord, vous devez aller chez votre fournisseur DNS et ajouter des enregistrements pour tout cela. C’est mon territoire. Comment le configurer pour pointer vers votre adresse IP. Vous devez maintenant parier sur le site 1. Mydomain. Com, site 2. Mydomain. Com, myotherdomain. Com et autres domaines. Com est à la même adresse IP (le reste est traité par nginx). Une fois que le DNS est mis à jour (vous pouvez Ping ces domaines et vous assurer qu’ils pointent tous vers la bonne adresse IP, toujours la même!), Nous pouvons commencer à ajouter ces deux sites. Bien sûr, c’est ce que vous pouvez faire dans administrateur réseau > sites > ajouter des sites. Emplacement du site 1; Utiliser myaltroduminium sous le titre du site; Le courriel de l’Administrateur peut être le même que celui du site principal (protégé par courriel dans ce tutoriel). De même, pour
Site 2, utilisez à nouveau un autre nom comme titre et la même adresse e – mail. Cartographions tout correctement. Allez dans Paramètres > domaine. Vous verrez le message suivant: Veuillez copier Sunrise. Php to \/ var \/ www \/ wordpress \/ WP content \/ Sunrise. PHP et assurez – vous que la définition de Sunrise est dans \/ var \/ www \/ wordpress \/ WP config. Tout d’abord, copiez le fichier (qui est le gestionnaire de cartographie de domaine): CP \/ var \/ www \/ wordpress \/ WP content \/ plugins \/ wordpress – mu Domain Mapping \/ Sunrise. Php \/ var \/ www \/ wordpress \/ WP content \/ now Edit \/ var \/ www \/ wordpress \/ WP config. PHP et Add define (‘sunrise’, ‘on’); Juste au – dessus: \/ * C’est tout, arrêtez l’édition! Happy Blog Retour à paramètres > champs, vous devriez maintenant afficher: Nous sommes prêts à ajouter des cartes. Malheureusement, le panneau de cartographie de domaine WordPress Mu n’est pas très intuitif: Nous devons trouver notre propre id de site. Heureusement, ce n’est pas très difficile, car ils sont listés dans le panneau sites > tous les sites: Maintenant, lorsque vous passez le curseur sur un nom de domaine, il devrait vous fournir son ID avec l’URL suivante: http:\/\/mydomain.com\/wp-admin\/network\/site-info.php?id=1 Notez qu’il y a une colonne supplémentaire appelée Mapping, qui a été ajoutée par WordPress Mu Domain Mapping. C’était vide au début. Si vous suivez ce tutoriel et que vous n’ajoutez et ne supprimez aucun domaine, la logique est simple: le premier site est ID 1, le deuxième site est ID 2, et ainsi de suite (mais tant que vous ajoutez et supprimez un domaine, il cessera bientôt d’être utilisé). Voici donc ce que nous voulons accomplir: mydomain. Com utilise l’ID 1 (par défaut: pas besoin d’ajouter) myaltrodominium. Com utilise l’ID 2 altrodominium. Com utilisez ID 3 si l’option est correctement définie, elle devrait maintenant ressembler à ceci: De plus, dans les sites > tous les sites, vous devriez avoir: WordPress est maintenant configuré pour gérer les Mappings de domaine, mais nous devons aussi le faire savoir à nginx!
Revenons à ouvrir \/ etc \/ nginx \/ sites disponibles \/ mydomain. Morphologie. Vous avez dû remarquer l’instruction Map en haut. Ce que nous allons faire est essentiellement de copier ici ce que nous avons mis en place via WordPress: Map $http _ host $blogid {
La valeur par défaut est 0;
Mydomain. Com 1;
Créatinine. Com 2;
Un autre domaine. Com 3;
}
Serveur {
Serveur _ name mydomain. Com myotherdomain. Com un autre domaine. Format commun de noms de domaine;
Root \/ var \/ www \/ wordpress;
Accédez à _ log \/ var \/ log \/ nginx \/ mydomain. Accès com. Journal de bord
Erreur _ log \/ var \/ log \/ nginx \/ mydomain. Erreur com. Journal de bord
Y compris conf.d \/ restrictions. Morphologie;
Inclut \/ var \/ www \/ wordpress \/ nginx. Morphologie;
Y compris conf.d \/ wordpress Mu. Morphologie;
Utilisez: sudo service nginx reload pour redémarrer nginx et commencer le test maintenant! Si tout se passe bien, vous devriez être en mesure de voir http:\/\/myotherdomain.com\/ Et http:\/\/anotherdomain.com\/ Et sera redirigé correctement. Dernier point: comment tester tout ce qui précède avant d’entrer dans la production? Il est temps de faire quelques tests. Comme l’exige le tutoriel ci – dessus, vous devez avoir au moins trois noms de domaine qui ne sont utilisés à aucune fin et, bien sûr, chaque ligne de code doit être ajustée pour refléter le vrai nom de domaine. Cependant, avant de passer à l’environnement de production, vous devrez peut – être effectuer des tests pour vous assurer que la configuration est correcte. Voici un petit conseil à utiliser: utilisez le fichier Hosts pour créer de faux champs. La plupart des ordinateurs sont préconfigurés pour lire d’abord les assignations d’adresses IP statiques à partir de leurs fichiers hôtes et ne peuvent le faire qu’après avoir atteint le serveur de noms dns. Il suffit de connaître l’adresse IP du serveur. Vous devez le faire en deux endroits: sur le serveur où WordPress est installé et sur l’ordinateur de bureau. Sous Linux \/ Mac OS X, le fichier est dans \/ etc \/ hosts, donc avec sudo Nano \/ etc \/ hosts, vous devriez être en mesure de l’éditer et d’ajouter la ligne suivante en bas: 192.168.0.1 mydomain. Site Web 1. Mydomain. Site Web 2. Mydomain. C \/
À propos de myotherdomaine. Com un autre domaine. Bien sûr, vous devriez remplacer 192.168.0.1 par l’adresse IP réelle du serveur. Sous Windows, cela dépend de votre version; Il est généralement situé dans C: \ Windows \ system32 \ DRIVERS \ etc \ Hosts. Utilisez des outils comme Notepad pour l’éditer (n’utilisez pas write ou Word, car il ajoute beaucoup de formatage inutile et interrompt tout!). Une fois les modifications apportées, vous devrez probablement quitter votre navigateur et le redémarrer (parce que la plupart des navigateurs mettent en cache le DNS). Cependant, il y a aussi quelques mises en garde: Comme vous n’utilisez pas de DNS « réel», l’installation wordpress ne sera pas en mesure d’utiliser les plug – ins qui nécessitent des appels XML – RPC vers le serveur. Un exemple typique est jetpack, qui a vraiment besoin d’une adresse \