Migracja witryn WordPress z Ubuntu 16.04 do 18.04 LTS Server z Nginx, MariaDB i PHP 7.2-FPM

  • Eustace Evans
  • 0
  • 2101
  • 147

Niedawno przenieśliśmy nasze serwery produkcyjne do Ubuntu 18.04 z 16.04 LTS… Ten post pokazuje uczniom i nowym użytkownikom, jak to zrobiliśmy.

Zanim przejdę dalej, chcę to wyjaśnić… nie aktualizujemy serwerów Ubuntu… kropka!

Zwykle instalujemy nowy serwer Ubuntu od podstaw i migrujemy nasze bazy danych, zawartość i inne konfiguracje na nowe serwery… Nie wierzymy w dokonywanie uaktualnień na miejscu na istniejących serwerach… Jest wiele rzeczy, które należy wziąć pod uwagę podczas wykonywania tego…

Tak więc, jeśli obecnie używasz Ubuntu 16.04 LTS z Nginx, MariaDB i PHP i chcesz przejść na 18.04, poniższe kroki powinny być doskonałym miejscem do rozpoczęcia…

Oto jak przenieśliśmy nasze witryny WordPress z Ubuntu 16.04 do 18.04:

Hostujemy wiele witryn WordPress na jednym serwerze Ubuntu…. Wszystkie witryny mają własne bazy danych i katalogi internetowe… ale mają ten sam adres IP…

Krok 1: Przygotowanie Ubuntu 18.04 LTS

Gdy Twój obecny serwer Ubuntu 16.04 nadal działa, przejdź do nowego serwera i zainstaluj go Ubuntu 18.04 Minimalna edycja

Po zainstalowaniu uruchom poniższe polecenia, aby zaktualizować / zaktualizować wszystkie pakiety na serwerze…

sudo apt update && sudo apt dist-upgrade && sudo apt autoremove

Powyższe polecenia powinny zaktualizować wszystkie pakiety, które należy zaktualizować… Po zakończeniu zrestartuj serwer i kontynuuj poniżej:

Krok 2: Zainstaluj serwer HTTP Nginx

Teraz, gdy serwer Ubuntu 18.04 został zaktualizowany, możesz teraz rozpocząć instalowanie serwerów aplikacji… Twoim celem jest zainstalowanie tych samych serwerów, które masz na Ubuntu 16.04… jednak dla nas zainstalowaliśmy najnowsze serwery w naszym pudełku 18.04… .

Aby zainstalować Nginx, uruchom poniższe polecenia

sudo apt install nginx

Po zainstalowaniu serwera sieciowego Nginx uruchom poniższe polecenia, aby dodać repozytorium Nginx, aby móc zainstalować najnowszą wersję… .

cd / tmp / && wget http://nginx.org/keys/nginx_signing.key sudo apt-key add nginx_signing.key 

Następnie uruchom poniższe polecenia, aby dodać repozytorium i zainstalować najnowszą wersję…

sudo sh -c "echo 'deb http://nginx.org/packages/mainline/ubuntu/' $ (lsb_release -cs) 'nginx'> /etc/apt/sources.list.d/Nginx.list" sudo apt zaktualizuj sudo apt install nginx sudo systemctl włącz nginx 

Krok 3: Zainstaluj serwer MariaDB 10.3

Po zainstalowaniu najnowszej wersji Nginx kontynuuj poniżej, aby zainstalować najnowszą wersję MariaDB… 10.3…. najnowsza wersja MariaDB to 10.3…

sudo apt-key adv --recv-keys --keyserver hkp: //keyserver.ubuntu.com: 80 0xF1656F24C74CD1D8 sudo sh -c "echo 'deb https://mirrors.evowise.com/mariadb/repo/10.3/ubuntu '$ (lsb_release -cs)' main '> /etc/apt/sources.list.d/MariaDB103.list "sudo apt-get update sudo apt-get install mariadb-server mariadb-client sudo systemctl włącz mariadb 

Podczas instalacji powinieneś zostać poproszony o wpisanie hasła roota MariaDB na końcu… zrób to

Krok 4: Zainstaluj PHP7.2-FPM i powiązane moduły

Następnie na liście jest PHP 7.2-FPM… W naszym środowisku mamy strony działające na starszej wersji PHP… więc musieliśmy zainstalować PHP 7.2-FPM i PHP 7.0-FPM… Nie możesz zainstalować PHP 7.0-FPM na Ubuntu po wyjęciu z pudełka… aby zainstalować starsze wersje, może być konieczne dodanie poniższego PPA… następnie zainstaluj…

sudo apt-get install właściwości-oprogramowania-common sudo add-apt-repository ppa: ondrej / php sudo apt update 

Następnie uruchom poniższe polecenia, aby zainstalować PHP 7.2-FPM i powiązane moduły…

sudo apt php7.2-fpm php7.2-common php7.2-mysql php7.2-xml php7.2-xmlrpc php7.2-curl php7.2-gd php7.2-imagick php7.2-cli php7.2 -mbstring php7.2-opcache php7.2-zip

Zrób to samo dla PHP 7.0-FPM

sudo apt php7.0-fpm php7.0-common php7.0-mysql php7.0-xml php7.0-xmlrpc php7.0-curl php7.0-gd php7.0-imagick php7.0-cli php7.0 -mbstring php7.0-opcache php7.0-zip

sudo systemctl włącz php7.2-fpm sudo systemctl włącz php7.0-fpm 

Teraz serwer Ubuntu 18.04 ma wszystkie wymagane serwery, a WordPress działa… .

Krok 5: Przenieś zawartość na nowy serwer

W tym momencie instalacja Ubuntu 18.04 LTS oraz Nginx, MariaDB i PHP 7.2-FPM są zainstalowane…

W naszym przypadku musieliśmy zainstalować moduł Let's Encrypt Nginx na nowym serwerze… używamy Let's Encrypt SSL dla naszych witryn…

sudo apt-get install python-certbot-nginx

Jeśli nie używasz Let's Encrypt, po prostu pomiń i przejdź dalej… .

Następnie uruchomiliśmy poniższe polecenia na serwerze Ubuntu 16.04, aby utworzyć archiwum dla całej zawartości witryn internetowych w katalogu / var / www / html…. nazywa webcontent.tar.gz

sudo tar -czvf webcontent.tar.gz / var / www / html /

Uruchomiliśmy również poniższe polecenia, aby utworzyć archiwum wszystkich plików konfiguracji nginx w katalogu / etc / nginx… .

sudo tar -czvf nginxconfig.tar.gz / etc / nginx /

Zrobiliśmy to również dla Let's Encrypt.

sudo tar -czvf letsencrypt.tar.gz / etc / letsencrypt /

Zrób to dla innych konfiguracji, które chcesz skopiować na nowy serwer… .

Następnie uruchom poniższe polecenia, aby zrzucić wszystkie bazy danych witryn… .

sudo mysqldump -u root -p --all-databases --skip-lock-table> alldb.sql

W tym momencie cała zawartość WordPress, pliki konfiguracyjne Nginx, ustawienia Let's Encrypt i bazy danych są gotowe do wyeksportowania na nowy serwer Ubuntu 18.04…

W tym celu użyłem poleceń scp…. Więc uruchom poniższe polecenia, aby użyć scp do skopiowania plików na nowe serwery…

Z nowego serwera Ubuntu 18.04 uruchom polecenie…

nazwa użytkownika scp @ ubuntu1604: /home/username/webcontent.tar.gz /home/username/webcontent.tar.gz scp nazwa_użytkownika @ ubuntu1604: /home/username/nginxconfig.tar.gz /home/username/nginxconfig.tar.gz nazwa użytkownika scp @ ubuntu1604: /home/username/letsencrypt.tar.gz /home/username/letsencrypt.tar.gz scp nazwa_użytkownika @ ubuntu1604: /home/username/alldb.sql /home/username/alldb.sql 

To powinno przenieść Twoje dane na nowy serwer…

Teraz możesz rozpocząć wypakowywanie każdego pliku archiwum i kopiowanie jego zawartości do tej samej lokalizacji, co na serwerze 16.04… .

tar -xvf webcontent.tar.gz tar -xvf nginxconfig.tar.gz tar -xvf letsencrypt.tar.gz

Następnie skopiuj i zamień / var / www / html na ten z serwera 16.04… zrób to samo dla innych konfiguracji… .

W przypadku baz danych uruchom poniższe polecenia, aby je zaimportować…

sudo mysql -u root -p < alldb.sql

Sprawdź wszystkie swoje ustawienia i plik… i upewnij się, że wszystko jest we właściwym miejscu… Nie zapomnij też o ustawieniach PHP… Upewnij się, że ustawienia PHP są zgodne z ustawieniami Ubuntu 16.04 na nowym serwerze…

Sprawdź konfigurację Nginx, uruchamiając poniższe polecenia…

sudo nginx -t

Jeśli wróci z błędami, poszukaj miejsca błędu i napraw…

Przejrzyj wszystkie konfiguracje… i jeśli wszystko jest w porządku, nowy serwer powinien być gotowy…. Teraz wszystko, co musisz zrobić, to zmienić adres IP serwera na nowy serwer w ustawieniach DNS i to wszystko!

Mam nadzieję, że możesz to wykorzystać do migracji witryn WordPress…

Cieszyć się!




Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux