Migrace webu na nový VPS server je jeden z nejrizikovějších provozních úkonů — pokud se udělá špatně, výsledkem je výpadek, ztráta dat nebo rozsynchronizovaná databáze. Pokud se udělá správně, uživatelé si vůbec nevšimnou, že server přesunuli. Tento průvodce vás provede kompletním procesem krok za krokem.
Fáze 1: Příprava před migrací
Uspěchaná migrace je špatná migrace. Připravte si vše, než sáhnete na produkci:
Checklist před spuštěním
- Záloha aktuálního stavu — kompletní záloha souborů i databáze ze stávajícího serveru. Toto je váš rollback bod, pokud cokoliv selže
- Přístup k novému VPS — SSH přihlášení ověřeno, sudo práva nakonfigurovány
- Přístup ke správě DNS — přihlašovací údaje k registrátoru domény nebo DNS poskytovateli. Budete potřebovat změnit A záznamy
- Snížení DNS TTL — minimálně 24 hodin před migrací snižte TTL vašich DNS záznamů na 300 sekund (5 minut). Tím zkrátíte čas propagace při přesměrování na nový server
- Maintenance window — naplánujte migraci na noční hodiny (nízká návštěvnost). Pro databázové aplikace je ideální čas mezi půlnocí a 4:00
Fáze 2: Přesun souborů pomocí rsync
rsync je standardní nástroj pro efektivní přesun souborů — kopíruje pouze změněné soubory, podporuje delta přenosy a zachovává oprávnění. Pro migraci webu je vždy lepší než SCP nebo FTP.
Základní příkaz pro přesun webových souborů ze starého serveru na nový:
-e "ssh -p 22" \
/var/www/html/vas-web/ \
user@NOVA_IP:/var/www/html/vas-web/
Přepínač -a (archive) zachovává oprávnění, symbolicke linky a časy souborů. Přepínač -z komprimuje data přes síť. Pro velké weby (stovky MB) doporučujeme přidat --bwlimit=10000 pro omezení přenosové rychlosti — zabrání zahlcení produkčního serveru.
Přírůstkový rsync těsně před přepnutím
Poprvé rsync spustíte hodiny nebo dny před migrací — přesune bulk dat. Těsně před přepnutím DNS spustíte rsync znovu. Druhý rsync je výrazně rychlejší (kopíruje jen soubory změněné od prvního běhu) a zajistí, že nový server má nejnovější stav souborů.
Fáze 3: Export a import databáze
Databáze je nejkritičtější část migrace. Ztráta nebo nekonzistence databáze je nejčastější příčina problémů po migraci.
Export MySQL/MariaDB pomocí mysqldump
--single-transaction \
--routines \
--triggers \
--hex-blob \
nazev_databaze > backup_$(date +%Y%m%d_%H%M).sql
Přepínač --single-transaction je klíčový pro InnoDB tabulky — provede export bez zamykání tabulek, takže web může fungovat i během exportu. Pro MyISAM tabulky toto nefunguje a musíte použít --lock-tables.
Import na novém serveru
mysql -u root -p -e "CREATE DATABASE nazev_databaze CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql -u root -p -e "CREATE USER 'db_user'@'localhost' IDENTIFIED BY 'silne_heslo';"
mysql -u root -p -e "GRANT ALL ON nazev_databaze.* TO 'db_user'@'localhost';"
# Import dat
mysql -u root -p nazev_databaze < backup_20260118_0200.sql
Fáze 4: Konfigurace nového serveru
Soubory a databáze jsou přesunuty — nyní musíte nový server nastavit identicky jako starý.
PHP verze a rozšíření
Zkontrolujte verzi PHP na starém serveru (php --version) a nainstalujte stejnou na novém. Rozdíl verze PHP je nejčastější příčina "funguje na starém, nefunguje na novém". Zkontrolujte také PHP rozšíření (php -m) — zejména mbstring, curl, gd, intl a zip.
WordPress specifika
- Aktualizujte
wp-config.phps novými credentials k databázi - Zkontrolujte
siteurlahomev databázi (tabulkawp_options) — hodnoty musí odpovídat skutečné doméně, ne IP adrese - Zkontrolujte
.htaccess— pravidla pro WordPress permalinky musí být přítomna - Pokud web funguje na HTTPS, nastavte SSL certifikát na novém serveru (Let's Encrypt) před přesměrováním DNS
Ověření před přepnutím DNS
Otestujte web na novém serveru přes /etc/hosts — dočasně přidejte záznam:
Tím váš počítač bude přistupovat na nový server, i když DNS ještě ukazuje na starý. Projděte celý web — přihlášení, formuláře, platební brána, admin panel. Pokud vše funguje, jste připraveni přepnout DNS.
Fáze 5: Blue-Green strategie pro kritické weby
Pro weby s vysokou návštěvností nebo e-shopy doporučujeme blue-green deployment. Princip je jednoduchý: oba servery (starý = blue, nový = green) běží paralelně. Přepnutí je jen změna DNS — pokud cokoliv selže, stačí DNS vrátit zpět.
Klíčový detail: v době přepnutí DNS musíte zastavit zápisy do staré databáze (přepnout web do maintenance módu) a provést finální export-import. Bez toho se databáze rozejdou.
Fáze 6: Rollback plán
Vždy mějte připravený rollback — postup pro návrat k původnímu serveru, pokud migrace selže. Starý server nechte běžet minimálně 48 hodin po migraci. Pokud najdete problém na novém serveru, stačí DNS vrátit na starou IP — a máte čas problém v klidu opravit.
Po úspěšné 48hodinové verifikaci na novém serveru teprve ruší starý VPS.
Exascale.cz: Podpora při migraci
Migrace webu je technicky náročná a chybně provedená migrace může znamenat výpadek v hodinách. Tým Exascale.cz poskytuje asistenci při migraci — od technické konzultace po aktivní pomoc s přenosem dat. Pokud si nejste jisti jakýmkoliv krokem, kontaktujte nás předem, ne až při výpadku.
VPS s migrační asistencí
Exascale.cz pomůže s migrací webu na nový VPS — technická podpora v češtině, NVMe storage a KVM virtualizace v českém datacentru.
Vybrat VPS →