Vyhledávání na webu

Jak nainstalovat LEMP (Linux, Nginx, MariaDB, PHP-FPM) na Debian 9 Stretch


Protože Debian pohání velké procento webových serverů po celém světě, v tomto článku vysvětlíme, jak nainstalovat LEMP (Linux + Nginx + MariaDB + PHP-FPM) zásobník na Debian 9 Stretch jako alternativa k LAMP (použijte tohoto průvodce nainstalovat LAMP na Debian 9).

Navíc si ukážeme, jak provést minimální konfiguraci Nginx/PHP-FPM, aby i noví správci systému mohli nastavit zcela nové webové servery pro nastavení dynamických stránek.

K tomu využijeme nedávné aktualizace oficiálních úložišť distribuce. Předpokládá se, že jste Debian 9 nainstalovali na holý počítač, virtuální počítač nebo VPS, nebo jste provedli upgrade z Jessie.

Instalace LEMP v Debian 9 Stretch

Možná se divíte, proč jsme jako součást zásobníku LEMP zmínili PHP-FPM místo PHP. Na rozdíl od jiných webových serverů Nginx neposkytuje nativní podporu pro PHP.

Z tohoto důvodu se ke zpracování požadavků na stránky PHP používáPHP-FPM (Fast Process Manager). Více o PHP-FPM se můžete dozvědět na oficiálních stránkách PHP.

Výchozí verze poskytovaná v repozitářích Debianu php7.0-fpm. Jak pravděpodobně můžete odhadnout na základě názvu balíčku, tato verze dokáže zpracovat i požadavky na stránky včetně kódu PHP 7.

POZNÁMKA: Pokud byl ve stejné krabici již dříve nainstalován Apache, před pokračováním se ujistěte, že je zastaven a deaktivován.

S tím, co bylo řečeno, nainstalujme součásti zásobníku LEMP následovně:

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

Po dokončení instalace se nejprve ujistěte, že jsou spuštěny Nginx a PHP-FPM a že je povoleno spuštění při spouštění:

systemctl status nginx php7.0-fpm

Pokud to znamená, že jedna nebo obě služby neběží, udělejte to.

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

Jako u každé instalace MariaDB nebo MySQL je důležité spustit mysql_secure_installation, abyste provedli minimální konfiguraci zabezpečení a nastavili heslo pro kořenový účet databáze.

mysql_secure_installation

Pokud nevíte, jak to udělat, můžete se podívat na krok #4 v Jak nainstalovat MariaDB 10 na Debian a Ubuntu.

Konfigurace Nginx pro použití PHP-FPM na Debianu 9

Hlavní konfigurační soubor Nginx je /etc/nginx/sites-available/default, kde budeme muset v bloku serveru provést následující změny:

  • Ujistěte se, že je povolen blok location, který zpracovává požadavky PHP, s výjimkou toho, kde direktiva fastcgi_pass ukazuje na síťovou kartu se zpětnou smyčkou.
  • Přidejte index.php za direktivu index, abyste označili, že pokud bude nalezena, měla by být ve výchozím nastavení poskytnuta před index.html nebo jinými soubory.
  • Přidejte direktivu server_name ukazující na IP adresu nebo název hostitele vašeho serveru. V našem případě to bude 192.168.0.35.
  • Dále se ujistěte, že direktiva root ukazuje na umístění, kde budou uloženy vaše soubory .php (ve výchozím nastavení /var/www/html) .

Až budete hotovi, můžete pomocí následujícího příkazu otestovat konfigurační soubor na chyby.

nginx -t 

V tomto okamžiku by váš /etc/nginx/sites-available/default měl vypadat následovně, kde čísla odkazují na konfiguraci představující výše uvedený seznam:

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

Testování Nginx a PHP-FPM na Debianu 9

Abychom se ujistili, že nyní jako webový server používáme Nginx, vytvořte soubor s názvem info.php uvnitř /var/www/html s následující obsah:

<?php
	phpinfo();
?>

Poté přejděte na http://192.168.0.35/info.php a v horní části stránky byste měli vidět toto:

Nakonec ukažme náš prohlížeč na soubor booksandauthors.php, který jsme vytvořili v instalačním zásobníku LAMP (Linux, Apache, MariaDB nebo MySQL a PHP) na Debianu 9.

Jak můžete vidět na následujícím obrázku, tento soubor nyní obsluhuje Nginx:

POZNÁMKA: Pokud si všimnete, že Nginx stahuje soubory .php místo toho, aby je spouštěl, vymažte mezipaměť prohlížeče nebo zkuste jiný prohlížeč . Zejména pokud používáte Chrome, možná budete chtít otestovat anonymní režim.

souhrn

V tomto článku jsme vysvětlili, jak nainstalovat a nakonfigurovat Nginx pro poskytování dynamických stránek .php. Je důležité si uvědomit, že po tomto počátečním nastavení existují nastavení, která je třeba vzít v úvahu pro zabezpečení webového serveru.

Základní shrnutí můžete najít v The Ultimate Guide to Secure, Hardden and Improve Performance of Nginx Web Server.

Pokud hledáte virtuální hosting na Nginx, přečtěte si Jak nastavit virtuální hostitele založené na názvech a IP na NGINX.

Jako vždy nám neváhejte dát vědět, pokud máte dotazy nebo připomínky k tomuto článku.