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.