Uruchamianie wielu witryn WordPress na serwerze Ubuntu 16.04 LTS z obsługą Nginx, MariaDB i PHP 7.1

  • Noah Scott
  • 0
  • 2373
  • 733

Czasami uruchomienie jednej witryny na jednym serwerze może nie być świetnym sposobem na wykorzystanie zasobów systemowych… W dzisiejszych czasach host Linux z 1 procesorem i 4 GB pamięci RAM może obsługiwać wiele witryn WordPress i robić to wydajnie za pomocą Nginx…

Decydując się na uruchomienie wielu witryn WordPress na serwerze Ubuntu 16.04 LTS, wykonaj poniższe czynności… Dzięki serwerowi HTTP Nginx możesz uruchomić jak najwięcej witryn WordPress, o ile system hosta ma wystarczające zasoby z funkcją o nazwie Blok serwera

Blok serwera Nginx to funkcja podobna do wirtualnego hosta Apache2. Te funkcje umożliwiają użytkownikom i webmasterom hostowanie wielu niezależnych witryn lub blogów na jednym komputerze hosta z jednym adresem IP i oddzielnymi nazwami domen.

Zamiast uruchamiać pojedynczą witrynę na osobnym serwerze z indywidualnymi adresami IP, blok serwera Nginx można skonfigurować tak, aby uruchamiał wszystkie różne witryny internetowe z jednego komputera hosta i jednego adresu IP…

Kiedy będziesz gotowy, wykonaj poniższe czynności, aby to zadziałało.

Krok 1: Przygotuj serwer Ubuntu 16.04 LTS

Serwery Ubuntu są łatwiejsze w użyciu i zarządzaniu, szczególnie dla nowych użytkowników i studentów. Inny serwer Linux pozwoli ci zrobić to samo, ale uważam, że Ubuntu jest znacznie bardziej przyjazny dla użytkownika niż inne dystrybucje Linuksa.

Przygotuj więc serwer Ubuntu i uruchom poniższe polecenia, aby go zaktualizować.

sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get autorove

Krok 2: Zainstaluj serwer WWW Nginx HTTP

Następnie uruchom poniższe polecenia, aby zainstalować serwer HTTP Nginx…

sudo apt-get install nginx

Po zainstalowaniu Nginx poniższe polecenia mogą służyć do zatrzymywania, uruchamiania i włączania usługi Nginx, aby zawsze uruchamiała się po uruchomieniu serwera…

sudo systemctl stop nginx.service sudo systemctl start nginx.service sudo systemctl włącz nginx.service 

Krok 3: Zainstaluj serwer bazy danych MariaDB

Będziesz potrzebował serwera bazy danych dla WordPress… a serwer bazy danych MariaDB to świetne miejsce na rozpoczęcie. Aby go zainstalować, uruchom poniższe polecenia.

sudo apt-get install mariadb-server mariadb-client

Po zainstalowaniu poniższych poleceń można używać do zatrzymywania, uruchamiania i włączania usługi MariaDB, aby zawsze uruchamiała się po uruchomieniu serwera.

sudo systemctl stop mysql.service sudo systemctl start mysql.service sudo systemctl włącz mysql.service 

Następnie uruchom poniższe polecenia, aby zabezpieczyć serwer MariaDB.

sudo mysql_secure_installation

Po wyświetleniu monitu odpowiedz na poniższe pytania, postępując zgodnie z instrukcjami.

  • Wprowadź aktualne hasło roota (wpisz żadnego): Po prostu naciśnij Enter
  • Ustawić hasło roota? [T / n]: Y
  • Nowe hasło: wprowadź hasło
  • Ponownie wprowadź nowe hasło: powtórz hasło
  • Usunąć anonimowych użytkowników? [T / n]: Y
  • Nie zezwalać na zdalne logowanie przez roota? [T / n]: Y
  • Usunąć testową bazę danych i uzyskać do niej dostęp? [T / n]: Y
  • Załadować teraz ponownie tabele uprawnień? [T / n]: Y

Zrestartuj serwer MariaDB

sudo systemctl zrestartuj mysql.service

Krok 4: Zainstaluj PHP 7.1-FPM i inne moduły PHP

PHP 7.1 nie jest dostępne w domyślnych repozytoriach Ubuntu… aby go zainstalować, musisz go pobrać z repozytoriów innych firm.

Uruchom poniższe polecenia, aby dodać poniższe repozytorium stron trzecich w celu aktualizacji do PHP 7.1

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

Następnie zaktualizuj i zaktualizuj do PHP 7.1

sudo apt update

Uruchom poniższe polecenia, aby zainstalować PHP 7.1 i powiązane moduły.

sudo apt install php7.1-fpm php7.1-common php7.1-mbstring php7.1-xmlrpc php7.1-mydło php7.1-gd php7.1-xml php7.1-intl php7.1-mysql php7. 1-cli php7.1-mcrypt php7.1-ldap php7.1-zip php7.1-curl

Po zainstalowaniu PHP uruchom poniższe polecenia, aby otworzyć domyślny plik PHP Apache2.

sudo nano /etc/php/7.1/fpm/php.ini

Następnie edytuj poniższe wiersze, aby wyglądały tak i zapisz plik.

file_uploads = On allow_url_fopen = On memory_limit = 256 mln upload_max_filesize = 100 max_execution_time = 360 cgi.fix_pathinfo = 0 date.timezone = America / Chicago

Krok 5: Utwórz bazy danych i Dsery WordPress

Na tym etapie naszej konfiguracji wszystkie wymagane serwery i pakiety zostały zainstalowane… nadszedł czas, aby utworzyć naszą indywidualną bazę danych witryny i pliki konfiguracyjne…

Będziemy tworzyć konfiguracje dla trzech witryn WordPress… Są to:

http://example.com http://example.net http://example.org 

Utworzymy trzy bazy danych dla tych trzech witryn… Te bazy danych będą nazywane:

examplecomdb examplenetdb exampleorgdb 

Aby utworzyć bazy danych, uruchom poniższe polecenia, aby zalogować się do serwera.

sudo mysql -u root -p

Następnie uruchom poniższe polecenia, aby utworzyć wszystkie trzy bazy danych… po jednym wierszu na raz…

CREATE DATABASE examplecomdb; UTWÓRZ BAZĘ DANYCH examplenetdb; CREATE DATABASE exampleorgdb;

W kolejnym zadaniu utworzymy trzech użytkowników bazy danych, po jednym dla każdej witryny… będą się nazywać:

examplecomuser examplenetuser exampleorguser 

Uruchom poniższe polecenia, aby utworzyć trzech użytkowników i ustawić ich hasła

PRZYZNAJ WSZYSTKIE NA examplecomdb. * TO 'examplecomuser' @ 'localhost' IDENTIFIED BY 'type_new_password_here'; PRZYZNAJ WSZYSTKIE NA examplenetdb. * TO 'examplenetuser' @ 'localhost' IDENTIFIED BY 'typw_new_passwored_here'; GRANT ALL ON exampleorgdb. * TO 'exampleorguser' @ 'localhost' IDENTIFIED BY 'type_new_password_here';

Kiedy skończysz, uruchom poniższe polecenia, aby zapisać zmiany i wyjść.

PRZYWILEJE SPŁUKIWANIA; wyjście; 

Krok 6: Utwórz bloki serwera Nginx

Teraz utworzymy trzy bloki serwerów dla naszych trzech witryn internetowych… uruchom poniższe polecenia, aby utworzyć każdy… dla każdego dodaj poniższy kod konfiguracyjny, zamień nazwę domeny i katalog główny na odpowiednie foldery.

sudo nano /etc/nginx/sites-available/example.com sudo nano /etc/nginx/sites-available/example.net sudo nano /etc/nginx/sites-available/example.org

Dla każdego pliku skopiuj i wklej poniższy kod… zastępując odniesienie do nazwy domeny i podświetlony folder główny.

serwer nasłuchuj 80; słuchaj [::]: 80; root /var/www/html/example.com; index index.php index.html index.htm; nazwa_serwera example.com www.example.com; client_max_body_size 100M; lokalizacja / try_files $ uri $ uri / /index.php?$args;  lokalizacja ~ \ .php $ include snippets / fastcgi-php.conf; fastcgi_pass unix: /var/run/php/php7.1-fpm.sock; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; 

Blok serwera Example.net wygląda następująco:

serwer nasłuchuj 80; słuchaj [::]: 80; root /var/www/html/example.net; index index.php index.html index.htm; nazwa_serwera example.net www.example.net; client_max_body_size 100M; lokalizacja / try_files $ uri $ uri / /index.php?$args;  lokalizacja ~ \ .php $ include snippets / fastcgi-php.conf; fastcgi_pass unix: /var/run/php/php7.1-fpm.sock; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; 

Zrób to tyle razy dla każdej witryny…

Kiedy skończysz, uruchom poniższe polecenia, aby włączyć bloki serwera…

sudo ln -s /etc/nginx/sites-available/example.com / etc / nginx / sites-enabled / sudo ln -s /etc/nginx/sites-available/example.net / etc / nginx / sites-enabled / sudo ln -s /etc/nginx/sites-available/example.org / etc / nginx / sites-enabled /

Krok 7: Utwórz główny folder dokumentów dla każdej witryny

W każdym bloku serwera lub pliku konfiguracyjnym witryny znajduje się lokalizacja główna. Tutaj powinna być przechowywana zawartość każdej witryny… i powinna być inna dla wszystkich witryn. Teraz, gdy zdefiniowaliśmy lokalizacje główne dla całej naszej witryny, przejdź i utwórz je poniżej.

sudo mkdir -p /var/www/html/example.com sudo mkdir -p /var/www/html/example.net sudo mkdir -p /var/www/html/example.org

Krok 8: Pobierz zawartość WordPress i skopiuj ją do każdej lokalizacji głównej

Teraz pobierz zawartość WordPress i wypakuj do katalogu głównego każdej witryny. Aby to zrobić, uruchom poniższe polecenia

cd / tmp / && wget http://wordpress.org/latest.tar.gz

Następnie rozpakuj pobrany plik.

tar -xzvf latest.tar.gz

I skopiuj do każdego folderu głównego każdej witryny.

sudo cp -R wordpress / * /var/www/html/example.com sudo cp -R wordpress / * /var/www/html/example.net sudo cp -R wordpress / * / var / www / html / example. org

Krok 9: Skonfiguruj ustawienia bazy danych WordPress

Następnie uruchom poniższe polecenia, aby utworzyć WordPress wp-config.php ustawienia dla każdej domeny…

sudo cp /var/www/html/example.com/wp-config-sample.php /var/www/html/example.com/wp-config.php sudo cp /var/www/html/example.net/wp -config-sample.php /var/www/html/example.net/wp-config.php sudo cp /var/www/html/example.org/wp-config-sample.php / var / www / html / example .org / wp-config.php

Następnie uruchom poniższe polecenia, aby otworzyć każdy plik konfiguracyjny i wprowadź informacje o połączeniu z bazą danych… a następnie zapisz plik.

sudo nano /var/www/html/example.com/wp-config.php sudo nano /var/www/html/example.net/wp-config.php sudo nano /var/www/html/example.org/wp -config.php 

Po otwarciu każdego pliku wpisz nazwę bazy danych i hasło dla każdej utworzonej powyżej witryny… i zapisz plik.

// ** Ustawienia MySQL - możesz uzyskać te informacje od swojego hosta internetowego ** // / ** Nazwa bazy danych dla WordPress * / define ('DB_NAME', 'examplecomdb'); / ** Nazwa użytkownika bazy danych MySQL * / define ('DB_USER', 'examplecomuser'); / ** Hasło do bazy danych MySQL * / define ('DB_PASSWORD', 'type_password_here'); / ** Nazwa hosta MySQL * / define ('DB_HOST', 'localhost');

Wykonaj powyższe czynności dla każdej utworzonej witryny, upewniając się, że informacje o połączeniu z bazą danych są poprawne dla każdej witryny.

Gdy skończysz, uruchom poniższe polecenia, aby skonfigurować uprawnienia katalogów dla wszystkich witryn…

sudo chown -R www-data: www-data / var / www / html sudo chmod -R 755 / var / www / html

Następnie uruchom ponownie serwer WWW Nginx

sudo nginx -t sudo systemctl zrestartuj nginx 

Po ponownym uruchomieniu Nginx bez błędów powinieneś mieć dostęp do nazw domen w swoich witrynach… i zobacz domyślną stronę konfiguracji WordPress.

dawny… http://example.com

Postępuj zgodnie z kreatorem WordPress, aż konfiguracja zostanie zakończona dla każdej witryny… To wszystko!

Oto jak skonfigurować wiele witryn WordPress w systemie Ubuntu 16.04 LTS

Cieszyć się!

Skonfiguruj uwierzytelnianie klucza OpenSSH (bez hasła) na serwerze Ubuntu 16.04 LTS




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