Domanda

Ho un sito Web in esecuzione su uno stack Linux/Apache/Tomcat che deve essere automaticamente messo offline ogni pochi mesi per la manutenzione del server, che durerà un periodo di tempo arbitrario.Quali sono alcune opzioni per fare in modo che Apache crei e rimuova una pagina di "manutenzione del server"?

Devo essere in grado di controllarlo tramite script di shell.(Le risposte fornite da Google ruotano attorno alla modifica manuale della configurazione del server e non voglio essere in ufficio alle 3 del mattino!) Suppongo che potrei inserire lo script in un file .htaccess ed eliminarlo al termine, ma questo sembra meno che grazioso.


Commento alla risposta:

La risposta di Mike sembra la risposta basata sulle migliori pratiche, anche se quello che farò probabilmente è più simile La risposta di Dan perché il provider di hosting di terze parti controlla il bilanciamento del carico e non voglio occuparmi di questo pasticcio.Grazie!

È stato utile?

Soluzione

Abbiamo una configurazione che fa proprio questo, ma include molto più del semplice apache.Dietro c'è un bilanciatore del carico e due server.Entrambi i server web servono il sito web utilizzando Apache e uno di essi ha un host virtuale aggiuntivo che serve una semplice pagina di manutenzione HTML.Il bilanciatore del carico ha un servizio HTTP virtuale che reindirizza le richieste ai server reali.Questo servizio virtuale ha tre server reali:due sono server effettivi e il terzo è un IP virtuale sul secondo server che punta alla pagina di manutenzione.I server reali vengono ponderati con un terzo che ha il minor peso possibile e il sistema di bilanciamento del carico utilizza un algoritmo di ponderazione fisso.Pertanto, quando i siti Web reali vanno offline per qualsiasi motivo, tutte le richieste vengono inviate all'host di manutenzione e gli utenti visualizzano la simpatica pagina di errore con un numero di telefono.In effetti utilizzo un piccolo script per verificare lo stato dei server reali, quindi la pagina di manutenzione viene visualizzata non appena si avverte qualche segno di problema.

PS.Utilizzo Load Master 1500 per il bilanciamento del carico.

Altri suggerimenti

è abbastanza semplice avviare Apache con un file di configurazione personalizzato.Sul mio sistema:

httpd -f <config>

Lo uso regolarmente in combinazione con uno script di shell e una configurazione estremamente semplice come segnaposto di manutenzione.Lo script interrompe semplicemente il mio Apache normale e lo avvia.

crea 2 file di configurazione e scambiali avanti e indietro

Se cambia solo una piccola parte del file, uniscili con una sorta di preprocessore e genera sia la versione standard che quella "off-line" da una fonte e scambia tra quelle.

IIRC i file di configurazione di Apache vengono comunque creati utilizzando CPP

Abbiamo fatto qualcosa di simile.Abbiamo un index.html che reindirizza alla pagina principale del nostro sito.Durante la manutenzione eseguiamo uno script che modifica il reindirizzamento nel file html.Quindi passiamo attraverso lo script nella finestra di manutenzione automatica cron e viola.

Spero che aiuti!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top