it-swarm-eu.dev

Jak mohu aktualizovat svůj web, aniž bych uživatele nutil čekat?

Prestoje jsou pro uživatele nepohodlné a v současné době musí čekat, kdykoli dojde k upgradu webu. Navíc při použití skriptů, které nejsou k dispozici, existuje riziko, že změna nastavení nebude fungovat tak, jak bylo zamýšleno (i když byly testovány na pracovišti).

Jak mohu na serveru zachovat více verzí webu a přepínat mezi nimi, aniž by došlo k jakémukoli výpadku (např. Pomocí souboru htaccess)?

8
Gelatin

Jste na počítači se systémem Linux/BSD? Pokud ano, můžete k dosažení tohoto cíle snadno použít symbolické odkazy.

Vytvořte verzi 1 webu zde:

/var/www/www.example.org.v1

Vytvořte symbolický odkaz směřující do tohoto adresáře

cd /var/www
ln -s www.example.com.v1 www.example.com

To by vám mělo poskytnout seznam adresářů (ls -la), který vypadá takto:

lrwxr-xr-x   1 userid  users    18 Aug  3 03:35 www.example.com -> www.example.com.v1
drwxr-xr-x   2 userid  users   512 Aug  3 03:35 www.example.com.v1

Nastavte svůj webový server tak, aby jako kořen dokumentu používal /var/www/www.example.com. To už nikdy nebudete muset změnit; veškeré přesměrování bude provedeno na úrovni souborového systému.

Nyní, když se chcete zaměnit ve verzi 2 webu, vše, co musíte udělat, je umístit novou verzi do:

/var/www/www.example.org.v2

A aktualizujte symbolický odkaz tak, aby ukazoval na tuto verzi:

ln -sfh www.example.com.v2 www.example.com

Což způsobí, že výstup vašeho adresáře bude vypadat takto:

lrwxr-xr-x   1 userid  users    18 Aug  3 03:43 www.example.com -> www.example.com.v2
drwxr-xr-x   2 userid  users   512 Aug  3 03:42 www.example.com.v1
drwxr-xr-x   2 userid  users   512 Aug  3 03:41 www.example.com.v2

Jak vidíte, symbolický odkaz www.example.com nyní odkazuje na verzi 2 vašeho webu. Jedná se o atomovou operaci a nemělo by to způsobit žádné prostoje související s nedostupností souborů.

Samozřejmě stále existuje značná složitost při zajišťování aktualizace databázových struktur, dostupnosti všech statických zdrojů (a souvisejících se správnou verzí) atd., Ale alespoň to zajistí, že všechny správné zdroje pro nové stránky jsou okamžitě k dispozici.

Windows Vista a Server 2008 také podporují symbolické odkazy pomocí příkazu mklink, i když s nimi nemám žádné přímé zkušenosti.

6
JasonBirch

Virtuální hostitelé v Apache můžete použít pro 2 verze kódu na 2 různých adresách URL. Obvykle používaný příklad je:

test.example.com -> /var/www/version1.2

www.example.com -> /var/www/version1.1

oba jsou na stejném serveru, ale snad jen jeden je přístupný světu. Jakmile jste přesvědčeni, že test.example.com funguje, můžete jednoduše změnit místo, na které ukazují ve vaší konfiguraci Apache a ... presto. Nový web, nový kód. Za předpokladu, že nedošlo k žádným změnám schématu databáze, mělo by to fungovat. Takže po provedení změny to bude:

test.example.com ->/var/www/newtestversion

www.example.com -> /var/www/version1.2

Zde je příklad Apache konfigurační směrnice pro virtuálního hostitele:

<VirtualHost *:80>

     ServerAdmin [email protected]

     DocumentRoot "/var/www/version1.1"

     ServerName test.example.com

</VirtualHost>

Další informace o tom, jak to provést, najdete v dokumentace k virtuálnímu hostiteli Apache

Nejsem si jistý, jak to udělat ve službě IIS, ale představuji si, že existuje i způsob.

Pokud se něco pokazí, přepněte virtuálního hostitele zpět na původní a váš starý web je zpět ... žádné problémy. Aby se tyto změny projevily, musíte restartovat Apache, ale to je obecně velmi rychlé.

7
gabe.

V IIS si můžete s aktualizacemi nastavit druhý virtuální adresář.

Poté přesměrujete všechny požadavky nebo přemapujete vazby druhého webu na požadované jméno hostitele

Přesměrování Http v IIS 7: http://technet.Microsoft.com/en-us/library/cc732930 (WS.10) .aspx

1
Rickjaah

Co bych navrhl:

  • Před nahráním jakýchkoli změn proveďte místní testování na vývojovém serveru. Neprovádějte změny na živém serveru, dokud si nejste dostatečně jistí, že to funguje na testovacím serveru.
  • Provádějte údržbu v nejmenší době provozu. U většiny webových stránek to bude o víkendech v časných ranních hodinách. Pokud víkendy nejsou možností, proveďte to během nejmenšího obchodovaného času během týdne.
  • Upozorněte uživatele předem na plánovanou údržbu.
0
Virtuosi Media