LEMP je vynikající alternativou k tradičním LAMP serverům. Nginx je v některých situacích lehčí a rychlejší než Apache. Může být také nakonfigurován tak, aby dělal další užitečné věci, jako je reverzní proxy. Stejně jako u LAMP je Debian vynikající platformou pro LEMP servery. Vše, co potřebujete, je k dispozici v repozitářích Debianu, takže je snadné začít.
V tomto tutoriálu se naučíte:
- Jak nastavit MariaDB
- Jak nainstalovat PHP
- Jak nainstalovat Nginx
- Jak nakonfigurovat Nginx
- Jak otestovat server
PHPinfo na LEMP na Debianu 10.
Požadavky na software a použité konvence
Kategorie | Požadavky, konvence nebo použitá verze softwaru |
---|---|
Systém | Debian 10 Buster |
Software | Nginx, MariaDB a PHP |
Jiné | Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz. |
Konvence | # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel |
Nastavit MariaDB
Nejlepším místem, kde začít s nastavením serveru LEMP, je databáze. Pro tuto příručku poslouží jako databáze MaraiDB. Vzhledem k tomu, že se jedná o drop-in náhradu za MySQL, je MariaDB vynikající volbou. Než budete MariaDB používat pro jakýkoli ze svých projektů, budete ji muset nakonfigurovat. Spuštění aplikace, jako je WordPress, nevyžaduje mnoho, takže to nebude trvat dlouho.
Nainstalujte MariaDB
Začněte skutečnou instalací serveru MariaDB.
$ sudo apt install mariadb-server
Nastavení databáze
S nainstalovanou MariaDB jste připraveni připravit svou databázi na práci s webovými aplikacemi. MariaDB má skript, který vám pomůže automaticky zabezpečit váš databázový server, takže začněte jeho spuštěním.
$ sudo mysql_secure_installation
Postupujte podle pokynů ve skriptu. Až budete požádáni, nastavte heslo uživatele root. Výchozí hodnoty jsou dobré pro všechno ostatní.
Nyní se přihlaste do MariaDB pomocí mysql
a zadáním root
uživatel.
# mysql -u root -p
Vytvořte databázi pro svůj projekt.
CREATE DATABASE newdb;
Dále vytvořte uživatele, který se bude připojovat a spravovat databázi.
CREATE USER 'username'@'localhost' IDENTIFIED BY 'userpassword';
Tento uživatel bude potřebovat plnou kontrolu nad databází, aby mohl spouštět webovou aplikaci. Udělte mu všechna oprávnění k databázi a jejím tabulkám.
GRANT ALL PRIVILEGES ON newdb.* TO 'username'@'localhost';
Vše je nastaveno a připraveno k použití. Vyprázdněte svá oprávnění a ukončete MariaDB.
FLUSH PRIVILEGES; \q
Nainstalujte PHP
PHP je další dílek skládačky. Nebudete potřebovat celý PHP balíček Debianu, pouze PHP-FPM. Nainstalujte jej pomocí modulu MySQL.
$ sudo apt install php-fpm php-mysql
Nainstalujte Nginx
Téměř vše je na svém místě. Stačí nastavit webový server, Nginx. Chcete-li začít, nainstalujte Nginx na váš systém z repozitářů Debianu.
$ sudo apt install nginx
Nakonfigurujte Nginx
Nginx je výkonný webový server a nabízí spoustu možností. To také znamená, že je potřeba hodně konfigurace, aby to fungovalo přesně tak, jak chcete. Tato příručka vám poskytne základní pracovní nastavení, ale s Nginx můžete udělat mnohem více.
Konfigurace webu Nginx jsou uloženy v /etc/nginx/sites-available
a propojeno s /etc/nginx/sites-enabled
. Vytvořte nový soubor pro konfiguraci vašeho serveru v /etc/nginx/sites-available
a otevřete jej v textovém editoru.
Začněte vytvořením bloku serveru, který Nginxu sdělí, že se jedná o novou konfiguraci webu.
server { }
Zbytek vaší konfigurace půjde do tohoto bloku. Dále přidejte adresy pro naslouchání. Toto jsou čísla portů následovaná důležitými atributy vašeho webu. Pokud to bude váš jediný nebo výchozí web, přidejte default_server
za číslem portu.
server { listen 80 default_server; listen [::]:80 default_server; }
Přidejte webovou kořenovou složku, kam chcete umístit svůj web. /var/www/html
je obvyklá výchozí hodnota. Následujte to tím, že dáte Nginxu znát název indexu vašeho webu, lépe známý jako domovská stránka.
server { listen 80 default_server; listen [::]:80 default_server; root /ver/www/html; index index.php index.html; }
Nyní přidejte název domény svého webu jako server_name
. Pokud se jedná pouze o místní server, použijte _
místo domény.
server { listen 80 default_server; listen [::]:80 default_server; root /ver/www/html; index index.php index.html; server_name yourwebsite.com; }
Tento další konfigurační blok říká Nginxu, aby zkontroloval soubory odpovídající aktuální webové adrese.
server { listen 80 default_server; listen [::]:80 default_server; root /ver/www/html; index index.php index.html; server_name yourwebsite.com; location / { try_files $uri $uri/ =404; } }Konfigurace Nginx pro LEMP na Debianu 10.
Nakonec tento poslední blok říká Nginxu, aby předal soubory PHP PHP-FPM. Tam se udělá většina práce.
server { listen 80 default_server; listen [::]:80 default_server; root /ver/www/html; index index.php index.html; server_name yourwebsite.com; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; } }
Až budete hotovi, uložte konfiguraci a ukončete. Nyní jej propojte s sites-enabled
.
$ sudo ln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/your-site
Poté restartujte server, aby byl web povolen.
$ sudo systemctl restart nginx
Otestujte svůj server
Nejjednodušší způsob, jak se ujistit, že váš server funguje správně, je vytvořit nový soubor PHP ve vašem webovém kořenovém adresáři, abyste spustili nějaký PHP kód. Vytvořte index.php
na /var/www/html/
a otevřete jej pomocí textového editoru. Vložte následující řádek kódu do souboru a uložte jej.
<?php phpinfo(); ?>
Otevřete prohlížeč a přejděte na svůj server. Měli byste vidět tabulku PHP informací o vašem serveru. Pokud tak učiníte, váš server funguje normálně a je připraven pro vaši aplikaci PHP, jako je WordPress.
Závěr
Odtud můžete dělat cokoli. Konfigurace serveru zůstane na svém místě a vše by mělo zůstat funkční, pokud ji nezměníte. Můžete také přidat několik dalších webů na stejný server Nginx s podobnými konfiguracemi. Stačí změnit server_name
odkazovat na jinou doménu.