Tento tutoriál vám ukáže, jak nainstalovat Nginx, MariaDB a PHP7.2 (LEMP) na Ubuntu 18.04. Softwarový zásobník je sada softwarových nástrojů spojených dohromady. LEMP je zkratka pro Linux, Nginx (Engine-X), MariaDB/MySQL a PHP, z nichž všechny jsou open source a lze je používat zdarma. Je to nejběžnější softwarový balík, který pohání dynamické webové stránky a webové aplikace. Linux je operační systém; Nginx je webový server; MariaDB/MySQL je databázový server a PHP je skriptovací jazyk na straně serveru zodpovědný za generování dynamických webových stránek.
Předpoklad
Abyste mohli postupovat podle tohoto návodu, musíte mít operační systém Ubuntu 18.04 spuštěný na místním počítači nebo na vzdáleném serveru. Pokud hledáte VPS (virtuální soukromý server), můžete kliknout na tento speciální odkaz a získat kredit 50 $ zdarma na DigitalOcean. (Pouze pro nové uživatele). Pokud již jste uživatelem DigitalOcean, můžete kliknout na tento speciální odkaz a získat kredit 50 $ zdarma na Vultr (pouze pro nové uživatele). Bez dalších okolků můžeme začít.
Krok 1:Aktualizace softwarových balíčků
Než nainstalujeme zásobník LEMP, je vhodné aktualizovat úložiště a softwarové balíčky spuštěním následujících příkazů na vašem operačním systému Ubuntu 18.04.
Aktualizace sudo aptudo apt
Krok 2:Nainstalujte webový server Nginx
Nginx je vysoce výkonný webový server a v dnešní době velmi populární. Může být také použit jako reverzní proxy a server pro ukládání do mezipaměti. Zadejte tento příkaz pro instalaci webového serveru Nginx.
sudo apt install nginx
Po jeho instalaci můžeme povolit Nginx, aby se automaticky spouštěl při spuštění Ubuntu spuštěním následujícího příkazu.
sudo systemctl povolit nginx
Poté spusťte Nginx pomocí tohoto příkazu:
sudo systemctl spustit nginx
Nyní zkontrolujte jeho stav.
stav systemctl nginx
Výstup:
● nginx.service – Vysoce výkonný webový server a reverzní proxy server Načteno:načteno (/lib/systemd/system/nginx.service; povoleno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běžící) od čt 2018- 05-17 02:20:05 UTC; Před 2min 56s Dokumenty:man:nginx(8) Hlavní PID:19851 (nginx) Úkoly:2 (limit:2059) CGroup:/system.slice/nginx.service ├─19851 nginx:hlavní proces /usr/sbin/nginx - g démon zapnutý; master_process on; └─19853 nginx:pracovní proces
„Povoleno ” označuje, že je povoleno automatické spouštění při spouštění a vidíme, že Nginx běží. Všimněte si, že výše uvedený příkaz se po spuštění okamžitě neukončí. Musíte stisknout „q ” aby to skončilo.
Zkontrolujte verzi Nginx.
nginx -v
Výstup:
Verze nginx:nginx/1.14.0 (Ubuntu)
Nyní zadejte veřejnou IP adresu vašeho serveru Ubuntu 18.04 do adresního řádku prohlížeče. Měli byste vidět webovou stránku „Welcome to Nginx“, což znamená, že webový server Nginx běží správně. Pokud instalujete LEMP na místní počítač Ubuntu 18.04, zadejte 127.0.0.1
nebo localhost
v adresním řádku prohlížeče.
Upozorňujeme, že někteří poskytovatelé cloudových serverů mohou ve výchozím nastavení blokovat veškerý příchozí provoz, takže pokud se váš prohlížeč nemůže připojit k webovému serveru Nginx, možná budete muset nastavit pravidla brány firewall v ovládacím panelu.
Nakonec musíme vytvořit www-data
(uživatel Nginx) jako vlastník webového adresáře. Ve výchozím nastavení je ve vlastnictví uživatele root.
sudo chown www-data:www-data /usr/share/nginx/html -R
Krok 3:Nainstalujte databázový server MariaDB
MariaDB je drop-in náhrada za MySQL. Je vyvinut bývalými členy týmu MySQL, kteří se obávají, že by Oracle mohl změnit MySQL na uzavřený produkt. Zadejte následující příkaz pro instalaci MariaDB na Ubuntu 18.04.
sudo apt install mariadb-server mariadb-client
Po instalaci by se měl server MariaDB automaticky spustit. Použijte systemctl zkontrolovat jeho stav.
systemctl status mariadb
Výstup:
● mariadb.service – databázový server MariaDB Načteno:načteno (/lib/systemd/system/mariadb.service; povoleno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od čt 2018-05-17 02:39:57 UTC; Před 49 s Hlavní PID:21595 (mysqld) Stav:„Teď se berou vaše požadavky SQL...“ Úkoly:27 (limit:2059) CGroup:/system.slice/mariadb.service └─21595 /usr/sbin/mysqldPokud neběží, spusťte jej tímto příkazem:
sudo systemctl start mariadbChcete-li povolit automatické spouštění MariaDB při spouštění, spusťte
sudo systemctl povolit mariadbNyní spusťte bezpečnostní skript po instalaci.
sudo mysql_secure_installationAž budete požádáni o zadání rootovského hesla MariaDB, stiskněte klávesu Enter, protože heslo root ještě není nastaveno. Poté zadejte y pro nastavení hesla uživatele root pro server MariaDB.
Dále můžete stisknout Enter pro zodpovězení všech zbývajících otázek, což odstraní anonymního uživatele, zakáže vzdálené přihlášení root a odstraní testovací databázi. Tento krok je základním požadavkem pro zabezpečení databáze MariaDB. (Všimněte si, že Y je velké, což znamená, že se jedná o výchozí odpověď. )
Ve výchozím nastavení používá balíček MaraiDB na Ubuntu
unix_socket
k ověření přihlášení uživatele, což v podstatě znamená, že můžete použít uživatelské jméno a heslo operačního systému pro přihlášení do konzoly MariaDB. Můžete tedy spustit následující příkaz a přihlásit se bez zadání hesla root MariaDB.sudo mariadb -u rootChcete-li ukončit, spusťte
exit;Zkontrolujte informace o verzi serveru MariaDB.
mariadb --versionJak můžete vidět, nainstalovali jsme MariaDB 10.1.29.
mariadb Ver 15.1 Distrib 10.1.29-MariaDB, pro debian-linux-gnu (x86_64) pomocí readline 5.2Krok 4:Nainstalujte PHP7.2
PHP7.2 je součástí úložiště Ubuntu 18.04 a oproti PHP7.1 má menší výkonnostní zlepšení. Chcete-li nainstalovat php7.2 a některá běžná rozšíření, zadejte následující příkaz.
sudo apt install php7.2 php7.2-fpm php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.2 -mbstring php7.2-xml php7.2-gd php7.2-curlRozšíření PHP jsou běžně potřebná pro systémy pro správu obsahu (CMS), jako je WordPress. Například pokud vaše instalace postrádá
php7.2-xml
, pak mohou být některé stránky vašeho webu WordPress prázdné a v protokolu chyb Nginx můžete najít chybu jako:Zpráva PHP:Závažná chyba PHP: Nezachycená chyba:Volání nedefinované funkce xml_parser_create()Instalace těchto rozšíření PHP zajistí, že váš CMS běží hladce. Nyní spusťte php7.2-fpm.
sudo systemctl start php7.2-fpmPovolit automatické spouštění při spouštění.
sudo systemctl povolit php7.2-fpmZkontrolujte stav:
stav systemctl php7.2-fpmUkázkový výstup:
● php7.2-fpm.service – PHP 7.2 FastCGI Process Manager Načteno:načteno (/lib/systemd/system/php7.2-fpm.service; povoleno; předvolba dodavatele Aktivní:aktivní (běží) od čt 2018 -05-17 03:04:46 UTC; před 2min 43s Dokumenty:man:php-fpm7.2(8) Hlavní PID:31922 (php-fpm7.2) Stav:"Procesy aktivní:0, nečinnost:2, Požadavky :0, pomalý:0, Provoz:0req/se Úkoly:3 (limit:2059) CGroup:/system.slice/php7.2-fpm.service ├─31922 php-fpm:hlavní proces (/etc/php/7.2 /fpm/php-fpm.conf) ├─31939 php-fpm:pool www └─31940 php-fpm:pool wwwKrok 5:Vytvořte blok serveru Nginx
Blok serveru Nginx je jako virtuální hostitel v Apache. Nepoužijeme výchozí blok serveru, protože je neadekvátní ke spuštění kódu PHP a pokud jej upravíme, stane se z toho nepořádek. Odstraňte tedy
default
symbolický odkaz vsites-enabled
adresář spuštěním následujícího příkazu. (Stále je k dispozici jako/etc/nginx/sites-available/default
.)sudo rm /etc/nginx/sites-enabled/defaultPoté vytvořte zcela nový soubor bloku serveru pod /etc/nginx/conf.d/ adresář.
sudo nano /etc/nginx/conf.d/default.confDo souboru vložte následující text. Následující úryvek způsobí, že Nginx bude naslouchat na portu IPv4 80 a portu IPv6 80 s názvem univerzálního serveru.
server { poslouchat 80; poslouchej [::]:80; název_serveru _; root /usr/share/nginx/html/; index index.php index.html index.htm index.nginx-debian.html; umístění / { try_files $uri $uri/ /index.php; } umístění ~ \.php$ { fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; zahrnout fastcgi_params; include snippets/fastcgi-php.conf; } # Dlouhá životnost mezipaměti prohlížeče může urychlit opakované návštěvy umístění vaší stránky ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log vypnuto; log_not_found off; vyprší 360d; } # zakázat přístup k umístění skrytých souborů ~ /\.ht { access_log off; log_not_found off; popřít vše; }}Uložte a zavřete soubor. Poté otestujte konfigurace Nginx.
sudo nginx -tPokud je test úspěšný, znovu načtěte Nginx.
sudo systemctl reload nginxKrok 6:Otestujte PHP
Pro testování PHP-FPM s webovým serverem Nginx musíme vytvořit
info.php
soubor v kořenovém adresáři dokumentu.sudo nano /usr/share/nginx/html/info.phpDo souboru vložte následující kód PHP.
Uložte a zavřete soubor. Nyní do adresního řádku prohlížeče zadejte
server-ip-address/info.php
. Nahraďtesever-ip-address
s vaší skutečnou IP. Pokud postupujete podle tohoto návodu na místním počítači, zadejte127.0.0.1/info.php
nebolocalhost/info.php
.Měli byste vidět informace o PHP serveru. To znamená, že skripty PHP mohou správně běžet s webovým serverem Nginx.
Gratuluji! Úspěšně jste nainstalovali Nginx, MariaDB a PHP7.2 na Ubuntu 18.04. Pro zabezpečení vašeho serveru byste měli odstranit
info.php
soubor nyní, aby jej hacker neviděl.sudo rm /usr/share/nginx/html/info.phpDalší krok
Možná budete chtít nainstalovat phpMyAdmin, což je webový administrátorský panel pro databázový server MySQL/MariaDB.
- Jak nainstalovat phpMyAdmin s Nginx (LEMP) na Ubuntu 18.04 LTS
Můžete také nainstalovat WordPress na horní část zásobníku LEMP a vytvořit si vlastní web nebo blog.
- Nainstalujte WordPress na Ubuntu 18.04 s Nginx, MariaDB, PHP7.2 (LEMP)
A je to! Doufám, že vám tento návod pomohl nainstalovat LEMP stack na Ubuntu 18.04 LTS . Jako vždy, pokud pro vás byl tento příspěvek užitečný, přihlaste se k odběru našeho bezplatného zpravodaje a získejte další tipy a triky. Opatruj se.