Come posso configurare VirtualHost senza riavviare il web server Apache?


Risposte:


15

Ho appena dato un'occhiata a questa pagina ma non sono sicuro di quanto sia rilevante per il tuo.

Hosting virtuale di massa configurato dinamicamente

L'idea di base è sostituire tutte le configurazioni statiche con un meccanismo che le risolva dinamicamente. Questo ha una serie di vantaggi:

  1. Il file di configurazione è più piccolo, quindi Apache si avvia più rapidamente e utilizza meno memoria.
  2. L'aggiunta di host virtuali è semplicemente una questione di creazione delle directory appropriate nel filesystem e delle voci nel DNS: non è necessario riconfigurare o riavviare Apache.

AGGIORNARE

Aggiunta di host virtuali senza riavviare Apache

Si è scoperto che la soluzione era utilizzare VirtualDocumentRoot invece della semplice vecchia impostazione DocumentRoot per un singolo host virtuale. Ciò ha permesso di specificare la variabile $ 0 come parte del valore. Così abbiamo finito per essere in grado di avere "VirtualDocumentRoot / somedir / $ 1".


24

Apporta le modifiche a VirtualHosts, quindi esegui

apache2ctl configtest

Per assicurarsi che non vi siano errori di sintassi in sospeso ed esegui questo:

apache2ctl graceful

o

/etc/init.d/apache2 graceful

Il segnale USR1 o grazioso fa sì che il processo genitore informi i bambini di uscire dopo la loro richiesta corrente (o di uscire immediatamente se non stanno servendo nulla). Il genitore rilegge i suoi file di configurazione e riapre i suoi file di registro. Man mano che ogni bambino muore, il genitore lo sostituisce con un figlio della nuova generazione della configurazione, che inizia immediatamente a soddisfare le nuove richieste.

Fondamentalmente tutte le connessioni esistenti rimangono intatte, quindi non è lo stesso di un riavvio completo: è così che di solito lo faccio sui server di produzione con dozzine di siti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.