Wyszukiwanie w witrynie

Jak zainstalować LEMP (Linux, Nginx, MariaDB, PHP-FPM) na Debianie 9 Stretch


Ponieważ Debian obsługuje duży procent serwerów internetowych na całym świecie, w tym artykule wyjaśnimy, jak zainstalować LEMP (Linux + Nginx + MariaDB + PHP-FPM) na Debianie 9 Stretch jako alternatywa dla LAMP (skorzystaj z tego przewodnika, aby zainstaluj LAMPę na Debianie 9).

Dodatkowo pokażemy jak przeprowadzić minimalną konfigurację Nginx/PHP-FPM, aby nawet nowi administratorzy systemu mogli skonfigurować zupełnie nowe serwery internetowe do konfiguracji stron dynamicznych.

W tym celu wykorzystamy najnowsze aktualizacje oficjalnych repozytoriów dystrybucji. Zakłada się, że zainstalowałeś Debiana 9 na komputerze typu bare metal, maszynie wirtualnej lub VPS, albo dokonałeś aktualizacji z wersji Jessie.

Instalowanie LEMP w Debianie 9 Stretch

Być może zastanawiasz się, dlaczego wspomnieliśmy o PHP-FPM zamiast PHP jako części stosu LEMP. W przeciwieństwie do innych serwerów internetowych, Nginx nie zapewnia natywnej obsługi PHP.

Z tego powodu do obsługi żądań stron PHP używany jest PHP-FPM (Fast Process Manager). Możesz dowiedzieć się więcej o PHP-FPM na oficjalnej stronie PHP.

Domyślna wersja dostarczana w repozytoriach Debiana php7.0-fpm. Jak zapewne się domyślasz na podstawie nazwy pakietu, ta wersja może nawet obsługiwać żądania do stron zawierających kod PHP 7.

UWAGA: jeśli Apache był już instalowany w tym samym urządzeniu, przed kontynuowaniem upewnij się, że został zatrzymany i wyłączony.

Powiedziawszy to, zainstalujmy komponenty stosu LEMP w następujący sposób:

aptitude update 
aptitude install nginx mariadb-server mariadb-client php-mysqli php7.0-fpm

Po zakończeniu instalacji upewnijmy się najpierw, że Nginx i PHP-FPM są uruchomione i włączone, aby uruchamiały się podczas uruchamiania:

systemctl status nginx php7.0-fpm

Jeśli wskazuje, że jedna lub obie usługi nie są uruchomione, wykonaj tę czynność.

systemctl start nginx php7.0-fpm
systemctl enable nginx php7.0-fpm

Jak w przypadku każdej instalacji MariaDB lub MySQL, ważne jest uruchomienie mysql_secure_installation w celu przeprowadzenia minimalnej konfiguracji zabezpieczeń i ustawienia hasła dla konto root bazy danych.

mysql_secure_installation

Jeśli nie wiesz, jak to zrobić, możesz zapoznać się z krokiem 4 w artykule Jak zainstalować MariaDB 10 na Debianie i Ubuntu.

Konfigurowanie Nginx do używania PHP-FPM na Debianie 9

Główny plik konfiguracyjny Nginx to /etc/nginx/sites-available/default, w którym będziemy musieli wprowadzić następujące zmiany w bloku serwera:

  • Upewnij się, że blok lokalizacja obsługujący żądania PHP jest włączony, z wyjątkiem tego, w którym dyrektywa fastcgi_pass wskazuje na kartę sieciową sprzężenia zwrotnego.
  • Dodaj index.php po dyrektywie index, aby wskazać, że jeśli zostanie znaleziony, powinien być domyślnie wyświetlany przed index.html lub innymi plikami.
  • Dodaj dyrektywę nazwa_serwera wskazującą adres IP lub nazwę hosta Twojego serwera. W naszym przypadku będzie to 192.168.0.35.
  • Dodatkowo upewnij się, że dyrektywa root wskazuje lokalizację, w której będą przechowywane Twoje pliki .php (domyślnie /var/www/html) .

Kiedy skończysz, możesz użyć następującego polecenia, aby przetestować plik konfiguracyjny pod kątem błędów.

nginx -t 

W tym momencie Twój /etc/nginx/sites-available/default powinien wyglądać następująco, gdzie liczby odnoszące się do konfiguracji reprezentują powyższą listę:

grep -Ev '#' /etc/nginx/sites-available/default

Testowanie Nginx i PHP-FPM na Debianie 9

Aby mieć pewność, że używamy teraz Nginx jako naszego serwera internetowego, utwórzmy plik o nazwie info.php w /var/www/html z następującą treść:

<?php
	phpinfo();
?>

Następnie przejdź do http://192.168.0.35/info.php i sprawdź górę strony, gdzie powinieneś zobaczyć to:

Na koniec wskażmy naszej przeglądarce plik booksandauthors.php, który utworzyliśmy w stosie Zainstaluj LAMPĘ (Linux, Apache, MariaDB lub MySQL i PHP) na Debianie 9.

Jak widać na poniższym obrazku, plik ten jest teraz obsługiwany przez Nginx:

UWAGA: Jeśli zauważysz, że Nginx obsługuje pliki .php jako pliki do pobrania, zamiast je wykonywać, wyczyść pamięć podręczną przeglądarki lub wypróbuj inną przeglądarkę . Szczególnie, jeśli używasz przeglądarki Chrome, możesz przetestować w trybie incognito.

Streszczenie

W tym artykule wyjaśniliśmy, jak zainstalować i skonfigurować Nginx do obsługi dynamicznych stron .php. Należy pamiętać, że po tej wstępnej konfiguracji należy wziąć pod uwagę ustawienia, aby zabezpieczyć serwer WWW.

Podstawowe podsumowanie można znaleźć w The Ultimate Guide to Secure, Harden and Improve Performance of Nginx Web Server.

Jeśli szukasz wirtualnego hostingu na Nginx, przeczytaj Jak skonfigurować wirtualne hosty oparte na nazwach i IP na NGINX.

Jak zawsze, nie wahaj się dać nam znać, jeśli masz pytania lub komentarze dotyczące tego artykułu.