Comment puis-je configurer VirtualHost sans redémarrer le serveur Web Apache?

15

J'ai mentionné ici le serveur Web Apache parce que j'utilise celui-ci.

Sadate
la source

Réponses:

15

Je viens de jeter un œil à cette page, mais je ne sais pas dans quelle mesure elle est pertinente pour la vôtre.

Hébergement virtuel de masse configuré dynamiquement

L'idée de base est de remplacer toutes les configurations statiques par un mécanisme qui les élabore dynamiquement. Cela présente un certain nombre d'avantages:

  1. Votre fichier de configuration est plus petit, donc Apache démarre plus rapidement et utilise moins de mémoire.
  2. L'ajout d'hôtes virtuels consiste simplement à créer les répertoires appropriés dans le système de fichiers et les entrées dans le DNS - vous n'avez pas besoin de reconfigurer ou de redémarrer Apache.

MISE À JOUR

Ajouter des hôtes virtuels sans redémarrer Apache

Il s'est avéré que la solution était d'utiliser VirtualDocumentRoot au lieu de simplement l'ancien paramètre DocumentRoot pour un seul hôte virtuel. Cela a permis de spécifier la variable $ 0 dans le cadre de la valeur. Nous avons donc fini par avoir «VirtualDocumentRoot / somedir / $ 1».

TigerTiger
la source
24

Apportez des modifications à vos VirtualHosts, puis faites

apache2ctl configtest

Pour vous assurer qu'il n'y a pas d'erreurs de syntaxe en suspens, et exécutez ceci:

apache2ctl graceful

ou

/etc/init.d/apache2 graceful

Le signal USR1 ou gracieux amène le processus parent à conseiller aux enfants de quitter après leur demande actuelle (ou de quitter immédiatement s'ils ne servent rien). Le parent relit ses fichiers de configuration et rouvre ses fichiers journaux. Au fur et à mesure que chaque enfant décède, le parent le remplace par un enfant de la nouvelle génération de la configuration, qui commence immédiatement à servir de nouvelles demandes.

Fondamentalement, toutes les connexions existantes restent intactes, ce n'est donc pas la même chose qu'un redémarrage complet - c'est ainsi que je fais habituellement cela sur des serveurs de production avec des dizaines de sites.

meder omuraliev
la source