Przenoszenie strony na VPS: poradnik krok po kroku
Aktualizacja: 5 min czytaniaZespół DNSPeek
Aby przenieść stronę na VPS, najpierw przygotuj serwer: aktualizacje, klucze SSH, zaporę sieciową i ten sam stos webowy, na którym strona działa dziś. Skopiuj pliki i bazę danych, skonfiguruj wirtualny host dla swojej domeny i przetestuj stronę na IP VPS pod prawdziwą domeną przed zmianą DNS. Przełącz przy krótkim TTL, wystaw certyfikat, a pocztę trzymaj u osobnego dostawcy, a nie na VPS.
Co się zmienia, gdy opuszczasz hosting współdzielony
Na hostingu współdzielonym dostawca prowadzi serwer WWW, PHP, bazę danych, pocztę, kopie zapasowe i aktualizacje bezpieczeństwa. Na niezarządzanym VPS to wszystko należy teraz do Ciebie. Zaletą jest kontrola i przewidywalne zasoby; ceną to, że nic nie jest skonfigurowane, dopóki sam tego nie zrobisz. Zaplanuj przeprowadzkę jako dwa projekty: zbuduj serwer, a potem przenieś na niego stronę.
| Zadanie | Hosting współdzielony | Niezarządzany VPS |
|---|---|---|
| Aktualizacje bezpieczeństwa | Hosting | Ty (lub aktualizacje automatyczne) |
| Serwer WWW, PHP, baza danych | Zainstalowane fabrycznie | Instalujesz je i dostrajasz sam |
| Hosting poczty | Zwykle w cenie | Lepiej u osobnego dostawcy |
| Kopie zapasowe | Często w cenie | Konfigurujesz je sam, najlepiej poza serwerem |
| Certyfikaty | Automatycznie | Certbot lub podobny klient ACME |
Przygotuj serwer
Zacznij od wspieranego wydania Linuksa. Poniższe polecenia dotyczą Ubuntu lub Debiana; w innych dystrybucjach dostosuj nazwy pakietów.
# Updates and a non-root user with sudo
apt update && apt upgrade -y
adduser deploy && usermod -aG sudo deploy
# Firewall: SSH, HTTP and HTTPS only
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
# Automatic security updates
apt install -y unattended-upgradesZaloguj się kluczem SSH, a potem wyłącz logowanie hasłem przez SSH. Zainstaluj stos, którego potrzebuje strona, np. nginx lub Apache, PHP-FPM w tej samej wersji i z tymi samymi rozszerzeniami co na starym hostingu oraz MySQL lub MariaDB. Ta sama wersja PHP pozwala uniknąć niespodzianek; zaktualizuj ją później w osobnym kroku.
Przeniesienie strony krok po kroku
Krok 1: Obniż TTL
Dzień przed przełączeniem ustaw dla rekordów A TTL 300 sekund. Obecną wartość sprawdź narzędziem sprawdzanie TTL.
Krok 2: Zabezpiecz VPS i zainstaluj stos
Zainstaluj aktualizacje, utwórz użytkownika z sudo, włącz klucze SSH i zaporę sieciową, a potem zainstaluj wersje serwera WWW, PHP i bazy danych, których potrzebuje strona.
Krok 3: Skopiuj pliki
Skopiuj stronę poleceniem
rsync -avzprzez SSH albo pobierz archiwum ze starego hostingu i prześlij je na VPS. Ustaw właściciela na użytkownika serwera WWW.Krok 4: Zaimportuj bazę danych
Wyeksportuj ją na starym hostingu, utwórz bazę danych i użytkownika na VPS, zaimportuj zrzut i zaktualizuj konfigurację aplikacji o nowe dane dostępowe.
Krok 5: Skonfiguruj wirtualny host
Dodaj blok server dla domeny i www, przepisz reguły .htaccess i przeładuj serwer WWW.
Krok 6: Przetestuj na IP VPS przed zmianą DNS
Utwórz link do podglądu z domeną i IP VPS i do czasu instalacji certyfikatu używaj trybu „Tylko HTTP” lub „Pomiń weryfikację”. Przeklikaj stronę, wyślij formularze, zaloguj się.
Krok 7: Uruchom raport QA
Przeskanuj podgląd raportem QA, aby wychwycić domyślne strony serwera WWW, błędy 502 z PHP-FPM, brakujące reguły rewrite i błędy PHP.
Krok 8: Przełącz DNS i wystaw certyfikat
Wykonaj końcową synchronizację plików i bazy danych, skieruj rekordy A na VPS, a potem wystaw certyfikat i obserwuj propagację narzędziem sprawdzanie propagacji DNS.
Skonfiguruj wirtualny host
Serwer WWW wybiera stronę na podstawie nazwy domeny w żądaniu. Skonfiguruj blok server zarówno dla example.com, jak i www.example.com:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
}Jeśli na starym hostingu strona korzystała z reguł .htaccess, przepisz je dla nginx: przyjazne adresy URL, przekierowania i ograniczenia dostępu nie przenoszą się same. Dostosuj ścieżkę gniazda PHP-FPM do zainstalowanej wersji. Testuj konfigurację poleceniem nginx -t przed każdym przeładowaniem i sprawdź ustawienia puli PHP-FPM: domyślna liczba procesów roboczych jest mała, a ruchliwa strona, której zabraknie procesów, odpowiada błędami 502 lub 504.
HTTPS przed przełączeniem
Zwykła weryfikacja HTTP w Let’s Encrypt działa dopiero wtedy, gdy domena wskazuje VPS. Masz trzy możliwości: wystawić certyfikat zaraz po przełączeniu (kilka minut na zwykłym HTTP lub z certyfikatem samopodpisanym), użyć weryfikacji DNS, która działa przed przełączeniem, jeśli Twój dostawca DNS ma API, albo skopiować istniejący certyfikat ze starego hostingu.
Do testów świeży VPS bez żadnego certyfikatu działa z podglądem DNSPeek w trybie Tylko HTTP: odwiedzający nadal otwierają podgląd przez HTTPS, a DNSPeek łączy się z serwerem zwykłym HTTP. Najpierw skonfiguruj aplikację tak, by ufała HTTPS proxy, inaczej przekierowanie wymuszające HTTPS utworzy pętlę. Ustawienia PHP i nginx opisuje dokumentacja: Serwer bez SSL.
Poczta: nie przenoś jej na VPS
Jeśli stary hosting współdzielony obsługiwał też Twoją pocztę, przeprowadzka to dobry moment, by je rozdzielić. Dobre utrzymanie serwera poczty (filtrowanie spamu, reputacja, DKIM, listy blokad) to osobna praca, a wielu dostawców chmury domyślnie blokuje wychodzący port 25. Przenieś skrzynki do osobnego dostawcy poczty, zaktualizuj MX, SPF, DKIM i DMARC, a e-maile transakcyjne ze strony wysyłaj przez uwierzytelnianą usługę SMTP. Zweryfikuj rekordy narzędziami sprawdzanie rekordów MX, sprawdzanie rekordu SPF i sprawdzanie rekordu DMARC.
Po przełączeniu
- Wystaw lub zweryfikuj certyfikat i sprawdź go narzędziem sprawdzanie SSL.
- Skonfiguruj kopie zapasowe przechowywane poza serwerem: zrzuty bazy danych i pliki, w magazynie obiektowym lub na innej maszynie, i przetestuj odtwarzanie.
- Dodaj podstawowy monitoring: kontrolę dostępności, miejsca na dysku i ważności certyfikatu.
- Odtwórz zadania cron ze starego hostingu.
- Przejdź przez checklistę po przeprowadzce.
Checklista migracji na VPS
VPS
- Aktualizacje zainstalowane, aktualizacje automatyczne włączone
- Użytkownik z sudo zamiast root, klucze SSH, logowanie hasłem wyłączone
- Zapora sieciowa przepuszcza tylko SSH, HTTP i HTTPS
- Ta sama wersja PHP i rozszerzenia co na starym hostingu
- Pliki skopiowane, właściciel i uprawnienia ustawione
- Baza danych zaimportowana, konfiguracja aplikacji zaktualizowana
- Wirtualny host dla domeny i www; reguły rewrite przepisane
- Strona przetestowana na IP VPS za pomocą linku do podglądu
- Raport QA bez krytycznych uwag
- Poczta przeniesiona do osobnego dostawcy; MX, SPF, DKIM, DMARC ustawione
- Końcowa synchronizacja, DNS przełączony, certyfikat wystawiony
- Kopie zapasowe poza serwerem i przetestowane odtwarzanie
- Monitoring dostępności i dysku skonfigurowany
Najczęstsze pytania
Czy VPS jest szybszy niż hosting współdzielony?
Często tak, ponieważ procesor i pamięć są zarezerwowane dla Ciebie, a nie dzielone z wieloma innymi stronami. Szybkość nadal zależy od konfiguracji: ustawienia PHP-FPM, cache i baza danych mają takie samo znaczenie jak sprzęt.
Czy mogę uzyskać certyfikat SSL na VPS przed zmianą DNS?
Tak, przez weryfikację DNS, jeśli Twój dostawca DNS ją obsługuje, lub kopiując istniejący certyfikat ze starego hostingu. Standardowa weryfikacja HTTP działa dopiero wtedy, gdy domena wskazuje VPS.
Jak przetestować stronę na VPS, zanim skieruję na niego domenę?
Wywołaj stronę z IP VPS pod jej prawdziwą domeną. Link do podglądu robi to w każdej przeglądarce i można go udostępnić; wpis w pliku hosts robi to na Twoim komputerze. Otwarcie samego IP zwykle pokazuje domyślną stronę serwera WWW.
Czy hostować pocztę na swoim VPS?
Zwykle nie. Serwery poczty wymagają stałej opieki w zakresie filtrowania spamu, reputacji i list blokad, a wielu dostawców chmury blokuje wychodzący port 25. Osobny dostawca poczty plus usługa SMTP dla strony to rozwiązanie prostsze i bardziej niezawodne.
Jaki jest najczęstszy błąd przy przeprowadzce na VPS?
Zapomnienie o pracy, którą stary hosting wykonywał po cichu: kopiach zapasowych, aktualizacjach bezpieczeństwa, poczcie i zadaniach cron. Przed przeprowadzką spisz wszystko, co zapewniał stary hosting, i zdecyduj, kto zajmie się każdą częścią na VPS.