Jak zainstalować Nginx, MySQL & PHP (LEMP) na Ubuntu 20.04

Jak zainstalować Nginx, MySQL & PHP (LEMP) na Ubuntu 20.04

Połączenie Linuksa, Nginx, MySQL i PHP jest znane jako LEMP Stack to popularne środowisko hostingowe dla aplikacji opartej na PHP. Tutaj Linux to system operacyjny, Nginx to popularny serwer WWW, MySQL to relacyjny system zarządzania bazą danych używany do przechowywania danych, a PHP jest szeroko stosowanym językiem programowania.

Ten artykuł pomoże Ci zainstalować Nginx, MySQL 8.0 i PHP 7.4 na systemie Ubuntu Linux. Zacznijmy od instalacji układu lemp komputera Ubuntu.

Wymagania wstępne

Przed rozpoczęciem instalacji LEMP na Ubuntu:

  • Ubuntu 20.04 System
  • Zaloguj się jako konto Sudo w twoim systemie. Aby go utworzyć, postępuj zgodnie z samouczkiem konfiguracji serwera.
  • Nazwa domeny/subdomeny wskazana na Twój serwer

Instalowanie serwera WWW Nginx

Następnie musisz zainstalować serwer WWW Nginx w swoim systemie. Pakiety Nginx są dostępne w ramach domyślnych repozytoriów APT.

Uruchom następujące polecenia, aby je zainstalować:

sudo apt aktualizacja sudo apt instal nginx 

Instalowanie PHP z PHP-FPM

PHP 7.4 pakiety są dostępne w domyślnych repozytoriach na Ubuntu 20.04 LTS. Użyj następującego polecenia, aby zaktualizować pamięć podręczną Apt i zainstalować PHP w systemie.

sudo apt aktualizacja sudo apt instal -y php7.4 php7.4-fpm 

Zainstaluj także dodatkowe moduły PHP wymagane do aplikacji.

sudo apt instal PHP7.4-CURL PHP7.4-GD PHP7.4-JSON PHP7.4-MBSTRING PHP7.4-xml 

Zainstalowałeś PHP 7.4 z pakietem FPM PHP w systemie. Sprawdźmy status usługi PHP FPM, uruchamiając poniżej polecenie:

SUDO SystemCTL Status PHP7.4-FPM ● PHP7.4-fpm.Usługa - PHP 7.4 FastCGI Process Manager Załadowany: Załadowany (/lib/systemd/system/php7.4-fpm.praca; włączony; PREDERTOR PRESET: Włączony) Active: Active (Uruchamianie) od TUE 2020-06-16 05:15:57 UTC; 34S temu Dokumenty: Man: PHP-FPM7.4 (8) proces: 882716 execTartpost =/usr/lib/php/php-fpm-socket-helper instalacja/run/php/php-fpm.skarpet/etc/php/7.4/fpm/basen.D/www.CONF 74> Główny PID: 882699 (PHP-FPM7.4) Status: „Procesy Aktywne: 0, bezczynność: 2, żądania: 0, powolny: 0, ruch: 0req/s” zadania: 3 (limit: 2283) Pamięć: 10.3M CGroup: /System.Slice/Php7.4-fpm.Service ├─882699 PHP-FPM: proces główny (/etc/php/7.4/fpm/php-fpm.Conf) ├─882714 PHP-FPM: PULL WWW └─882715 PHP-FPM: Pula www 16 czerwca 05:15:57 Tecadmin Systemd [1]: Rozpoczęcie PHP 7.4 FastCGI Process Manager… 16 czerwca 05:15:57 Tecadmin Systemd [1]: Rozpoczął PHP 7.4 FastCGI Process Manager. 

Instalowanie MySQL

Domyślny Ubuntu 20.04 APT Repozytoria zawiera MySQL Server 8.0. Na koniec zainstaluj pakiety MySQL-Server dla bazy danych MySQL. Zainstaluj także pakiet PHP-MYSQL, aby użyć obsługi MySQL za pomocą PHP. Użyj następującego polecenia, aby je zainstalować.

sudo apt instal MySQL-Server Php7.4-mysql 

Instalator będzie monitorował hasło root, to hasło będzie działać dla Twojego użytkownika mysql root. Po zainstalowaniu MySQL wykonaj następujące polecenie dla początkowych ustawień serwera MySQL. Zobaczysz, że skrypt będzie monitowany o więcej ustawień niż wcześniejsze wersje MySQL, takie jak zasady sprawdzania poprawności hasła itp.

sudo mysql_secure_instalation 
Zabezpieczenie wdrożenia MySQL Server. Łączenie się z MySQL za pomocą pustego hasła. Komponent sprawdzania hasła może być używany do testowania haseł i poprawy bezpieczeństwa. Sprawdza siłę hasła i umożliwia użytkownikom ustawienie tylko tych haseł, które są wystarczająco bezpieczne. Czy chciałbyś skonfigurować komponent sprawdzania hasła?  Naciśnij Y | Y obudowa mieszana, znaki specjalne i plik słownika Wprowadź 0 = niski, 1 = medium i 2 = silny: 2 Prosimy o ustawienie hasła dla root tutaj. Nowe hasło: Wprowadź nowe hasło: Szacowana siła hasła: 100 Czy chcesz kontynuować podane hasło?(Naciśnij Y | Y. Jest to przeznaczone tylko do testowania i sprawienie, aby instalacja stała się nieco gładsza. Powinieneś je usunąć przed przejściem do środowiska produkcyjnego. Usuń anonimowych użytkowników? (Naciśnij y | y dla tak, każdy inny klucz dla nie): y sukces. Zwykle root powinien mieć możliwość łączenia się tylko z „localhost”. Zapewnia to, że ktoś nie może odgadnąć hasła głównego z sieci. Zdalnie odrzucaj logowanie root? (Naciśnij y | y dla tak, każdy inny klucz dla nie): y sukces. Domyślnie MySQL jest wyposażony w bazę danych o nazwie „Test”, do którego każdy może uzyskać dostęp. Jest to również przeznaczone tylko do testowania i należy je usunąć przed przejściem do środowiska produkcyjnego. Usuń testową bazę danych i dostęp do niej? (Naciśnij Y | Y. - Usuwanie uprawnień w testowej bazie danych… sukces. Ponowne załadowanie tabel uprzywilejowanych zapewni, że wszystkie wprowadzone do tej pory zmiany pojawią się natychmiast. Załaduj teraz tabele uprawnień? (Naciśnij y | y dla tak, każdy inny klucz dla nie): y sukces. Wszystkie zrobione! 

Skonfiguruj Nginx z PHP-FPM

Utwórzmy wirtualny host NGINX, aby uruchomić FPM/FASTCGI. W tym samouczku używamy Domyślnego VirtualHost. Edytuj plik konfiguracji hosta VirtualHost w edytorze tekstu. Możesz utworzyć nowy wirtualHost zgodnie z wymaganiami, więc upewnij się, że włącz dowolny nowy wirtualhost.

sudo vim/etc/nginx/witryny-dostępny/przykład.com 

Użyj poniższej podstawowej konfiguracji wirtualnej hosta Nginx z ustawieniami FPM PHP. Zaktualizuj konfigurację jako następujące.

serwer Słuchaj 80; root/var/www/html; indeks indeksu.Wskaźnik PHP.Indeks HTML.HTM; Przykład_nazowy Server_name.com; lokalizacja / try_files $ uri $ uri / = 404; Lokalizacja ~ \.php $ obejmują fragmenty/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.skarpetka;
123456789101112131415serwer Słuchaj 80; root/var/www/html; indeks indeksu.Wskaźnik PHP.Indeks HTML.HTM; Przykład_nazowy Server_name.com; lokalizacja / try_files $ uri $ uri / = 404; Lokalizacja ~ \.php $ obejmują fragmenty/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.skarpetka;

Zapisz zmiany w pliku konfiguracyjnym i utwórz link do katalogu włączonego witryny.

sudo ln -s/etc/nginx/witryny -dostępny/przykład.com/etc/nginx/witryny/przykład.com 

Następnie ponownie uruchom usługę Nginx, aby ponownie załadować zmiany.

sudo systemctl restart nginx 

Krok 5 - Zarządzaj usługami

Zrobiliśmy instalację stosu lampy na Ubuntu 20.System 04 LTS. Poniższe polecenia pomogą Ci uruchomić/zatrzymać lub ponownie uruchomić usługi Nginx i MySQL działające z SystemD.

Aby zrestartować usługi Nginx i MySQL, wpisz:

sudo systemctl restart nginx sudo systemctl restart mysql 

Aby rozpocząć usługi Nginx i MySQL, wpisz:

sudo systemctl start nginx sudo systemctl start mySQL 

Aby zatrzymać usługi Nginx i MySQL, wpisz:

sudo systemctl stop nginx sudo systemctl stop mysql 

Krok 6 - Dostosuj zasady zapory

Możesz bezpośrednio podać nazwę usługi, taką jak „http” lub „https”, aby zezwolić. Firewalld używa pliku /etc /usługi do określenia odpowiedniego portu usługi.

sudo firewall-cmd --Permanent --add-service = http sudo firewall-cmd --Permanent --add-service = https  Sudo Firewall-CMD-RELOOD 

Krok 7 - Sprawdź konfigurację

Po zakończeniu całej konfiguracji. Utwórzmy informacje.php dokument na stronie internetowej pliku root z następującą treścią.

sudo echo "">/var/www/html/info.php 

Teraz uzyskaj dostęp do tego pliku w przeglądarce internetowej. Zobaczysz ekran jak poniżej ze wszystkimi szczegółami PHP na serwerze.

Gratulacje! Z powodzeniem skonfigurowałeś serwer LEMP na swoim Ubuntu 20.System 04 LTS.