Gelegentlich, wenn ich versuche, eine Seite zu öffnen, sehe ich eine Seite wie "Diese Seite ist offline zur Wartung" und dann kommen einige Kommentare dazu, wie lange es vermutlich dauern würde. Stack Overflow macht das auch.
Wie funktioniert es? Ich meine, wenn die Seite heruntergefahren ist, wer antwortet auf meine HTTP-Anfrage und bedient diese Seite?
Es gibt einen Trick in asp.net, wo Sie eine Datei namens
platzieren %Vor%Alle Anfragen werden so lange ausgeführt, bis die Seite gelöscht wird.
In anderen Umgebungen können Sie oft einfach ändern, wo der Server hinweist, oder einen anderen solchen Plan.
- Bearbeiten
Ein Server-Agnostic-Ansatz wird durch so etwas wie Lastenausgleich erreicht.
Unter der Haube können Sie die Anfragen an einen bestimmten internen Server senden. Sie können dann entscheiden, alle Anfragen auf Ihren Server "a" zu verweisen, den Sie konfigurieren, um die Seite "Ausfallzeit" anzuzeigen. Dann nehmen Sie Änderungen an Server 'b' vor, bestätigen Sie es als erfolgreich, und verweisen Sie alle Anforderungen auf 'b'. Dann aktualisierst du 'a' und lass die Anfragen zu beiden gehen.
In ASP.NET (und ASP.NET MVC, wie Stackoverflow verwendet) wird dies von app_offline.htm Funktion . Dies funktioniert, indem einfach alle ASP.NET-Anfragen an die app_offline.htm-Datei weitergeleitet werden.
Übrigens führt das Website-Tool kopieren in ASP.NET den Prozess zum Ablegen dieser Datei aus kopiert im Kopierordner der Website die Dateien der Website und löscht dann diese Datei.
Strategien für andere Technologien sind hier diskutiert .
In Apache können Sie eine .htacces Datei mit diesem Inhalt verwenden.
%Vor%Dies verweigert allen den Zugriff mit Ausnahme einer IP-Adresse und liefert eine statische 404.html-Datei.
Dies funktioniert, wenn Sie nur einen Server ohne Lastausgleich und andere Dinge haben. Sollte aber auch zum Lastenausgleich funktionieren.
Tags und Links language-agnostic website