Blog / Baza Wiedzy

Jak zainstalować WordPressa na VPS przy użyciu Docker Compose

5 min czytania
Jak zainstalować WordPressa na VPS przy użyciu Docker Compose

Wstęp

WordPress napędza ponad 40% całego internetu. Choć można go zainstalować tradycyjnie, ręcznie konfigurując serwery Apache/Nginx i bazy danych, użycie Docker Compose jest powszechnie uważane za znacznie nowocześniejsze i bezpieczniejsze podejście. Docker izoluje Twoją stronę i bazę danych w osobnych kontenerach, co sprawia, że kopie zapasowe, aktualizacje i migracje stają się banalnie proste.

W tym poradniku uruchomimy oficjalny obraz WordPressa w połączeniu z dedykowaną bazą MySQL.

Wymagania wstępne: Potrzebujesz serwera VPS z systemem Linux, dostępu SSH z kontem użytkownika z uprawnieniami sudo oraz zainstalowanego Dockera z Docker Compose. Sprawdź nasz poradnik konfiguracji Docker Compose jeśli potrzebujesz pomocy.

Krok 1: Przygotowanie środowiska

Upewnij się, że masz zainstalowanego Dockera oraz Docker Compose na swoim serwerze VPS.

Na początek stwórzmy dedykowany folder dla naszej nowej strony. Będzie on przechowywał plik konfiguracyjny oraz wszystkie trwałe dane strony (jak wgrywane obrazki, motywy i wtyczki).

Tworzenie folderu projektu

mkdir ~/moj-wordpress
cd ~/moj-wordpress

Krok 2: Tworzenie konfiguracji

W Docker Compose cała infrastruktura serwerowa jest definiowana w jednym pliku.

Tworzenie pliku docker-compose.yml

nano docker-compose.yml

Wklej poniższą konfigurację w formacie YAML:

services:
  db:
    image: mysql:latest
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: twoje_silne_haslo_root
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wp_user
      MYSQL_PASSWORD: twoje_silne_haslo_wp
    volumes:
      - db_data:/var/lib/mysql

  wordpress:
    image: wordpress:latest
    restart: always
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: twoje_silne_haslo_wp
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wp_data:/var/www/html
    depends_on:
      - db

volumes:
  db_data:
  wp_data:

Co robi ten plik:

  1. Serwis db: Pobiera oficjalny obraz MySQL Latest, ustawia hasła dostępu i montuje wirtualny dysk db_data, dzięki czemu Twoja baza danych nie zniknie po restarcie serwera.
  2. Serwis wordpress: Pobiera najnowszego WordPressa, przekierowuje publiczny port 8080 do wnętrza kontenera na port 80 i łączy się z bazą danych używając zdefiniowanych haseł. Podłącza też dysk wp_data, by pliki strony były bezpieczne.

Ważne: Zmień twoje_silne_haslo_root i twoje_silne_haslo_wp na prawdziwe, skomplikowane hasła.

Zapisz i zamknij plik.

Krok 3: Uruchomienie i instalacja

Aby włączyć swoją stronę internetową, po prostu wpisz:

Uruchamianie Dockera komendą up -d

docker compose up -d

Docker automatycznie pobierze WordPressa oraz MySQL, połączy je wewnętrzną siecią i uruchomi w tle.

Gdy komenda zakończy działanie, otwórz przeglądarkę i wejdź na adres IP swojego serwera z portem 8080:

http://ip_twojego_serwera:8080

Kreator instalacji WordPress

Pojawi się słynny, 5-minutowy instalator WordPressa. Wybierz język, nadaj tytuł swojej stronie i stwórz konto administratora.


Podsumowanie

Twoja strona na WordPressie działa teraz w kontenerach Docker na Twoim VPS-ie. Cały stos składający się z WordPressa i bazy MySQL jest zdefiniowany w jednym pliku docker-compose.yml. Dzięki temu tworzenie kopii zapasowych, migracje i aktualizacje są banalnie proste.

W następnym kroku zdecydowanie zalecamy umieszczenie strony za Nginx Proxy Manager, aby przypisać do niej własną domenę i włączyć bezpłatny HTTPS przez Let's Encrypt. Sprawdź nasz poradnik: jak skonfigurować Nginx Proxy Manager na VPS.

Jeśli potrzebujesz niezawodnego serwera VPS dla swojej strony WordPress, sprawdź nasze plany Premium VPS lub Budget VPS, które oferują szybkie dyski NVMe SSD i natychmiastowe wdrożenie.

Najczęściej zadawane pytania

Wszystkie trwałe pliki WordPressa (takie jak przesłane media, motywy i wtyczki) są przechowywane w wolumenie Dockera wp_data. W standardowych instalacjach Linuksa ścieżka do tego wolumenu znajduje się w katalogu /var/lib/docker/volumes/ na serwerze VPS (systemie hosta).
Domyślny obraz WordPressa posiada określone ograniczenia rozmiaru wgrywanych plików. Możesz je zwiększyć, tworząc plik .user.ini lub .htaccess w głównym katalogu WordPressa (wewnątrz wolumenu) lub montując własny plik uploads.ini (zawierający np. upload_max_filesize = 64M) pod ścieżką /usr/local/etc/php/conf.d/uploads.ini w pliku docker-compose.yml.
Aby wykonać kopię zapasową bazy danych, uruchom polecenie docker compose exec db mysqldump -u wp_user -ptwoje_silne_haslo_wp wordpress > kopia_zapasowa.sql. Kopię zapasową plików strony wykonasz, kopiując zawartość wolumenów wp_data i db_data znajdujących się w folderze /var/lib/docker/volumes/ na serwerze VPS.
Tak. Rekomendujemy użycie serwera reverse proxy, takiego jak Nginx Proxy Manager. Skieruj swoją domenę na serwer proxy, który będzie bezpiecznie przekierowywał ruch z portów 80/443 na wewnętrzny port 8080 kontenera WordPress. Zobacz nasz poradnik Nginx Proxy Manager, aby poznać pełną procedurę.
Ponieważ w pliku docker-compose.yml oba obrazy są ustawione jako latest, aktualizację przeprowadza się przez pobranie nowych obrazów za pomocą polecenia docker compose pull, a następnie ponowne uruchomienie kontenerów za pomocą polecenia docker compose up -d.

Sugeruj poprawki na GitHubie

Zauważyłeś literówkę lub chcesz ulepszyć ten poradnik? Ten wpis jest open-source i możesz go edytować.

Edytuj ten wpis
Wróć do listy wpisów

Języki