Menu
Szybki wybór
Hosting Domeny VPS SSL Kalkulator Porównania FAQ
Aktywne kody
Wszystkie kody rabatowe

Przeniesienie strony WordPress na VPS — kompletny przewodnik

Opublikowano: 9 kwietnia 2026 · Kategoria: WordPress, VPS

Shared hosting wystarczył na początku, ale teraz strona zwalnia, panel mówi "przekroczono limit procesów", a sklep WooCommerce zaczyna gubić zamówienia przy większym ruchu. Czas na VPS. Migracja WordPress na własny serwer to kilkugodzinna praca — i jest do zrobienia bez przerwy w działaniu strony, jeśli zrobisz to w odpowiedniej kolejności.

Kiedy warto przenieść WordPress na VPS?

  • Strona ma ponad 10 000–20 000 unikalnych wizyt miesięcznie i zwalnia pod obciążeniem
  • Hosting współdzielony blokuje procesy PHP lub ogranicza liczbę jednoczesnych połączeń do bazy
  • Potrzebujesz niestandardowej konfiguracji: Redis, własny PHP-FPM pool, Node.js obok WP
  • Sklep WooCommerce obsługuje dziesiątki zamówień dziennie i wymaga gwarancji uptime
  • Chcesz pełnej kontroli nad wersjami oprogramowania i nie chcesz zależeć od cyklu aktualizacji dostawcy

Krok 1: Przygotowanie VPS — instalacja LEMP

LEMP to Linux + Nginx + MySQL/MariaDB + PHP-FPM. Na świeżym VPS Ubuntu 22.04:

# Aktualizacja systemu
apt update && apt upgrade -y

# Nginx
apt install -y nginx

# MariaDB (zalecana zamiast MySQL dla WordPress)
apt install -y mariadb-server
mysql_secure_installation

# PHP 8.2 + PHP-FPM + rozszerzenia wymagane przez WordPress
apt install -y php8.2-fpm php8.2-mysql php8.2-xml php8.2-mbstring \
  php8.2-curl php8.2-zip php8.2-gd php8.2-intl php8.2-bcmath php8.2-imagick

# Certbot dla SSL
apt install -y certbot python3-certbot-nginx

Krok 2: Konfiguracja Nginx dla WordPress

Utwórz konfigurację wirtualnego hosta w /etc/nginx/sites-available/twoja-domena.pl:

server {
    listen 80;
    server_name twoja-domena.pl www.twoja-domena.pl;
    root /var/www/twoja-domena.pl;
    index index.php index.html;

    # WordPress permalinki
    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    # PHP-FPM
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # Blokuj dostęp do plików konfiguracyjnych
    location ~ /\.(ht|git) {
        deny all;
    }

    # Cache pliki statyczne
    location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2)$ {
        expires 30d;
        add_header Cache-Control "public, no-transform";
    }
}
# Aktywuj konfigurację
ln -s /etc/nginx/sites-available/twoja-domena.pl /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

Krok 3: Eksport WordPress ze starego hostingu

Metoda A — All-in-One WP Migration (wtyczka, najprostsza):

  • Zainstaluj wtyczkę All-in-One WP Migration na starym hostingu
  • Export → pobierz plik .wpress (zawiera pliki + bazę + konfigurację)
  • Na VPS: zainstaluj świeży WordPress, zainstaluj wtyczkę, Import → prześlij plik
  • Limit: darmowa wersja obsługuje do 512 MB; większe strony wymagają wersji płatnej lub ręcznej migracji

Metoda B — Ręczna migracja (mysqldump + rsync):

# Na starym hostingu — eksport bazy danych
mysqldump -u db_user -p nazwa_bazy > wordpress_backup.sql

# Na starym hostingu — spakuj pliki WordPress
tar -czf wordpress_files.tar.gz /public_html/

# Skopiuj na VPS przez SCP
scp wordpress_backup.sql root@IP_VPS:/var/www/
scp wordpress_files.tar.gz root@IP_VPS:/var/www/

# Na VPS — utwórz bazę i użytkownika
mysql -u root -p <<EOF
CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'MocneHaslo123!';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EOF

# Importuj bazę
mysql -u root -p wordpress_db < /var/www/wordpress_backup.sql

# Rozpakuj pliki
cd /var/www/twoja-domena.pl
tar -xzf /var/www/wordpress_files.tar.gz --strip-components=1

Krok 4: Aktualizacja wp-config.php

Zaktualizuj dane bazy w pliku wp-config.php na VPS:

define('DB_NAME', 'wordpress_db');
define('DB_USER', 'wp_user');
define('DB_PASSWORD', 'MocneHaslo123!');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', 'utf8mb4_unicode_ci');

// Jeśli strona była na innym URL — zaktualizuj
define('WP_HOME', 'https://twoja-domena.pl');
define('WP_SITEURL', 'https://twoja-domena.pl');

Jeśli stara strona miała inny URL (np. stary-hosting.pl/~klient/), musisz zaktualizować URLs w bazie przez WP-CLI lub Search & Replace w phpMyAdmin:

# WP-CLI — zamiana URL w całej bazie (np. gdy testowałeś na IP)
wp search-replace 'http://123.45.67.89' 'https://twoja-domena.pl' --all-tables

Krok 5: Certbot SSL

# Ustawienie certyfikatu Let's Encrypt + auto-konfiguracja Nginx
certbot --nginx -d twoja-domena.pl -d www.twoja-domena.pl

# Certbot automatycznie:
# - wystawi certyfikat
# - zaktualizuje konfigurację Nginx (doda blok SSL)
# - skonfiguruje cron do automatycznego odnawiania

# Sprawdź automatyczne odnawianie
certbot renew --dry-run

Krok 6: Zmiana DNS i rollback plan

Przed zmianą DNS — przetestuj stronę na VPS przez edycję lokalnego pliku hosts: dodaj linię IP_VPS twoja-domena.pl i sprawdź czy wszystko działa (strona, admin, SSL, formularze).

Zmiana DNS: W panelu rejestratora domeny zmień rekord A z IP starego hostingu na IP nowego VPS. TTL ustaw na 300 sekund (5 minut) przed migracją — to przyspiesza propagację.

Rollback plan: Stary hosting trzymaj aktywny przez minimum 48h po zmianie DNS. Jeśli coś pójdzie nie tak — zmień rekord A z powrotem na stare IP. Propagacja DNS w obie strony zajmuje tyle samo czasu, więc rollback jest zawsze możliwy.

Najczęstsze pytania

Czy mogę przenieść WordPress na VPS bez przerwy działania strony? +
Tak — kluczem jest trzymanie starego hostingu aktywnego do momentu zmiany DNS i propagacji. Procedura: (1) skopiuj pliki i bazę na VPS, (2) skonfiguruj WordPress na VPS używając tymczasowego adresu IP lub hosta w /etc/hosts, (3) przetestuj działanie na VPS, (4) zmień rekordy DNS by wskazywały na nowe IP, (5) poczekaj na propagację (do 48h), (6) dopiero po pełnej propagacji zrezygnuj ze starego hostingu. Przerwa w działaniu = zero, jeśli stary hosting jest aktywny podczas propagacji.
Jaki stack wybrać dla WordPress na VPS: LAMP czy LEMP? +
Dla WordPress rekomendowany jest LEMP (Linux + Nginx + MySQL/MariaDB + PHP-FPM). Nginx jest szybszy niż Apache przy obsłudze plików statycznych, zużywa mniej RAM i lepiej radzi sobie z concurrency. PHP-FPM obsługuje procesy PHP w osobnych poolach — izolacja i elastyczna konfiguracja. LAMP (z Apache) jest równie popularny i łatwiejszy do konfiguracji przez .htaccess, ale pod dużym ruchem Nginx wygrywa. Unikaj Apache mod_php — to przestarzały model bez PHP-FPM.
Jak długo trwa przeniesienie WordPress na VPS? +
Techniczne przeniesienie (kopia plików + bazy + konfiguracja serwera) zajmuje 1–3 godziny dla przeciętnego WordPressa. Doliczyć trzeba propagację DNS (do 48h) i czas konfiguracji SSL (kilka minut z certbot). Duże bazy danych (>1 GB) i duże katalogi plików (galerie, WooCommerce produkty) wydłużają eksport i import. Całkowity czas od decyzji do pełnego działania na VPS: 4–8 godzin roboczych.
Co zrobić gdy po migracji WordPress pokazuje błąd 502 Bad Gateway? +
502 Bad Gateway z Nginx oznacza że Nginx nie może połączyć się z PHP-FPM. Sprawdź: (1) czy PHP-FPM działa: sudo systemctl status php8.2-fpm, (2) czy socket path w konfiguracji Nginx zgadza się z tym w php-fpm/pool.d/www.conf — powinny wskazywać ten sam plik .sock, (3) uprawnienia pliku socket: www-data musi mieć dostęp, (4) logi błędów: /var/log/nginx/error.log i /var/log/php8.2-fpm.log. Najczęstsza przyczyna: rozbieżność wersji PHP między konfiguracją Nginx a działającym PHP-FPM.

Sprawdź oferty pasujące do tego scenariusza

Poniżej masz szybkie przejścia do ofert i stron z kodami rabatowymi tam, gdzie są dostępne.