Wyszukiwanie w witrynie

Jak zainstalować LEMP na serwerze Debian 10


Stos „LEMP” to mieszanka oprogramowania typu open source, które jest zwykle instalowane na serwerze Linux w celu wdrażania dynamicznych aplikacji. Termin ten jest akronimem oznaczającym system operacyjny Linux, serwer WWW Nginx, bazę danych MariaDB i programowanie PHP.

Przeczytaj także: Jak zainstalować LAMPę na serwerze Debian 10

Chociaż ten stos „LEMP” zwykle zawiera MySQL jako system zarządzania bazami danych, niektóre dystrybucje Linuksa, takie jak Debian — używają MariaDB jako bezpośredni zamiennik MySQL.

Wymagania

  1. Jak zainstalować minimalny serwer Debiana 10 (Buster).

W tym artykule wyjaśnimy Ci, jak zainstalować i skonfigurować środowisko LEMP na serwerze Debian 10, używając MariaDB do zarządzania bazami danych platforma.

Instalowanie serwera WWW Nginx na Debianie 10

Nginx to wieloplatformowy, lekki, ale wydajny i łatwy w konfiguracji serwer HTTP i odwrotnego proxy, serwer proxy poczty i ogólny serwer proxy TCP/UDP serwer o architekturze modułowej.

Niektóre z jego podstawowych funkcji obejmują udostępnianie plików statycznych i indeksowych; przyspieszona obsługa buforowania serwerów FastCGI, uwsgi, SCGI i Memcached, równoważenie obciążenia i odporność na awarie, SSL i TLS SNI, obsługa HTTP/2 z ważoną i opartą na zależności priorytetyzacją.

Aby zainstalować pakiet Nginx, użyj menedżera pakietów apt Debiana, jak pokazano.

apt update 
apt install nginx 

Po zakończeniu instalacji Nginx instalator aktywuje systemd, aby na razie uruchomić usługę Nginx i umożliwić jej automatyczne uruchamianie przy starcie systemu. Możesz sprawdzić status Nginx za pomocą następującego polecenia systemctl.

systemctl status nginx

Możesz także użyć następujących ważnych poleceń, aby uruchomić, ponownie uruchomić, zatrzymać i ponownie załadować konfigurację usługi Nginx w systemied.

systemctl start nginx
systemctl restart nginx 
systemctl stop nginx
systemctl reload nginx 
systemctl status nginx 

Następnie, jeśli masz uruchomioną zaporę sieciową UFW (zwykle jest ona domyślnie wyłączona), musisz otworzyć porty 80 (HTTP) i 443 (HTTPS), aby umożliwić ruch przychodzący na Nginx.

ufw allow 80
ufw allow 443
ufw status

W tym momencie musisz sprawdzić, czy Nginx jest poprawnie zainstalowany, czy działa i może obsługiwać strony internetowe. Aby to zrobić, otwórz przeglądarkę internetową i wskaż następujący adres URL, aby uzyskać dostęp do strony internetowej Domyślna strona Nginx Debian.

http://SERVER_IP/
OR
http://localhost/

Instalowanie MariaDB na Debianie 10

Następnie musisz zainstalować system baz danych, aby móc przechowywać dane dla swojej witryny lub aplikacji internetowej i zarządzać nimi. Debian 10 domyślnie obsługuje MariaDB, jako zamiennik MySQL.

Aby zainstalować MariaDB, uruchom następujące polecenie.

apt install mariadb-server

Następnie sprawdź status usługi MariaDB, ponieważ jest ona automatycznie uruchamiana przez systemd i umożliwia uruchamianie przy starcie systemu, aby upewnić się, że jest uruchomiona i działa, użyj następującego polecenia.

systemctl status mariadb

Aby zarządzać (uruchamiać, restartować, zatrzymywać i ponownie ładować) usługą MariaDB w systemied, możesz użyć następującego polecenia.

systemctl start mariadb
systemctl restart mariadb
systemctl stop mariadb
systemctl reload mariadb

Następnie wdrożenie MariaDB będzie domyślnie niezabezpieczone. Aby zwiększyć bezpieczeństwo bazy danych, należy uruchomić skrypt powłoki dostarczony z pakietem.

mysql_secure_installation

Po uruchomieniu skryptu przeprowadzi Cię przez serię następujących pytań, aby zmodyfikować domyślne ustawienia instalacji MariaDB, jak pokazano na poniższym zrzucie ekranu.

Instalowanie PHP-FPM (Fast Process Manager) na Debianie 10

W przeciwieństwie do Apache i innych serwerów internetowych, Nginx nie zapewnia natywnej obsługi PHP, ponieważ używa PHP-FPM do obsługi żądań stron PHP. PHP-FPM to alternatywny demon FastCGI dla PHP, który umożliwia witrynie internetowej obsługę dużych obciążeń poprzez wykorzystanie procesów roboczych do obsługi żądań.

Aby zainstalować wersję 7.3 PHP-FPM i moduł PHP do komunikacji z systemem baz danych MariaDB/MySQL, uruchom następującą komendę.

apt install php-fpm php-mysqli

Po zainstalowaniu PHP-FPM instalator aktywuje systemd, aby na razie uruchomić usługę PHP-FPM i umożliwić jej automatyczne uruchamianie przy starcie systemu. Aby sprawdzić, czy działa, wydaj następujące polecenie.

systemctl status php-fpm

Możesz także uruchomić, ponownie uruchomić, zatrzymać i ponownie załadować konfigurację usługi PHP-FPM w systemied w następujący sposób.

systemctl start php-fpm
systemctl restart php-fpm
systemctl stop php-fpm
systemctl reload php-fpm
systemctl status php-fpm

Następnie musisz zabezpieczyć PHP-FPM, wprowadzając pewne zmiany w pliku konfiguracyjnym /etc/php/7.3/fpm/php.ini w następujący sposób.

vi /etc/php/7.3/fpm/php.ini

Poszukaj ;cgi.fix_pathinfo=1 i odkomentuj go, usuwając znak ; na początku i ustaw jego wartość na 0. Uniemożliwia to Nginxowi zezwolenie na wykonywanie plików innych niż PHP jako PHP.

cgi.fix_pathinfo=0

Domyślnie PHP-FPM jest skonfigurowany do nasłuchiwania na soxketie UNIX, /run/php/php7.3-fpm.sock zgodnie z definicją w pliku /etc /php/7.3/fpm/pool.d/www.conf plik konfiguracyjny. Musisz skonfigurować cały blok serwerów (lub hosty wirtualne), aby korzystały z tego gniazda, jeśli mają przetwarzać i wyświetlać strony PHP.

Aby go przetestować, możesz użyć domyślnego pliku konfiguracyjnego bloku serwera Nginx /etc/nginx/sites-available/default.

vi /etc/nginx/sites-available/default 

Poszukaj poniższej sekcji i odkomentuj ją, aby przekazać skrypty PHP do serwera FastCGI, jak pokazano na zrzucie ekranu.

location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}

Następnie sprawdź, czy struktura konfiguracji Nginx jest OK, używając następującego polecenia.

nginx -t

Jeśli konfiguracja Nginx jest OK, aby zastosować ostatnio wprowadzone zmiany, zrestartuj usługi php7.3-fpm i nginx w następujący sposób.

systemctl restart php7.2-fpm
systemctl restart nginx

Testowanie przetwarzania PHP-FPM na Nginx

Po skonfigurowaniu PHP-FPM i Nginx do współpracy, musisz przetestować, czy dwie usługi mogą przetwarzać i udostępniać klientom strony PHP. Aby to zrobić, utwórz prosty skrypt PHP w swoim internetowym DocumentRoot w następujący sposób.

echo “<?php phpinfo(); ?>”  | tee /var/www/html/info.php

Na koniec otwórz przeglądarkę i wpisz następujący adres, aby zobaczyć konfiguracje PHP w systemie wygenerowane przez funkcję phpinfo().

http://SERVER_IP/info.php
OR
http://localhost/info.php

Wniosek

W tym artykule pokazaliśmy, jak zainstalować i skonfigurować stos LEMP w Debianie 10. Jeśli masz jakieś pytania lub uwagi, skontaktuj się z nami i daj nam znać za pomocą poniższego formularza komentarza.