GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Nginx s PHP a MySQL (LEMP Stack) na Ubuntu 20.04 LTS

Nginx (vyslovováno jako „engine x“) je bezplatný, open-source, vysoce výkonný HTTP server. Nginx je známý svou vysokou rychlostí, stabilitou, bohatou sadou funkcí, jednoduchou konfigurací a nízkou spotřebou zdrojů. Tento tutoriál ukazuje, jak můžete nainstalovat Nginx na server Ubuntu 20.04 LTS s podporou PHP 7.4 (prostřednictvím PHP-FPM) a podporou MySQL (LEMP =Linux + Nginx (vyslovováno "engine x") + MySQL + PHP).

Předpoklady

  • Server Ubuntu 20.04 LTS
  • Oprávnění uživatele root

Co budeme dělat?

  • Nainstalujte Nginx
  • Nainstalujte MySQL
  • Nainstalujte PHP-FPM
  • Nakonfigurujte Nginx a PHP-FPM
  • Nainstalujte si PhpMyAdmin
  • Nakonfigurujte PhpMyAdmin
  • Testování

Krok 1 – Instalace Nginx

Nginx neboli engine x je vysoce výkonný HTTP a proxy server s nízkou spotřebou paměti. Většina velkých webů jako Netflix, Pinterest, CloudFlare, GitHub používá Nginx.

V tomto kroku nainstalujeme webový server Nginx z úložiště Ubuntu.

Aktualizujte všechna úložiště v systému Ubuntu a nainstalujte balíčky Nginx pomocí příkazu apt níže.

aktualizace sudo apt
instalace sudo apt nginx

Po dokončení instalace spusťte službu Nginx a povolte její spuštění při každém spuštění systému.

systemctl spustit nginx
systemctl povolit nginx

Nyní je instalace webového serveru Nginx dokončena, zkontrolujte službu Nginx pomocí následujícího příkazu.

stav systemctl nginx

Níže je výsledek, který dostanete.

Zkontrolujte také port HTTP v systému Ubuntu a ujistěte se, že jej používá služba Nginx.

ss -plt4

Níže je výsledek, který dostanete.

V důsledku toho je protokol HTTP používán službou Nginx.

Dále zabezpečíme naši instalaci Nginx pomocí firewallu UFW.

Přidejte protokol HTTP a HTTPS do konfigurace brány firewall UFW pomocí následujícího příkazu.

pro fw v ssh http https
do
ufw povolit $fw
hotovo

Nyní povolte UFW firewall a zkontrolujte jeho stav.

ufw enable
číslovaný stav ufw

A protokol HTTP a HTTPS byl přidán do konfigurace firewallu UFW.

Krok 2 – Instalace MySQL

MySQL je nejpopulárnější open-source systém správy relačních databází (RDBMS) vytvořený společností Oracle Corporation. Je to centrální součást LEMP Stack a my nainstalujeme nejnovější verzi MySQL z úložiště Ubuntu.

Nainstalujte MySQL pomocí příkazu apt níže.

sudo apt install mysql-server mysql-client

Po dokončení instalace MySQL spusťte službu MySQL a povolte její spuštění při každém spuštění systému.

systemctl spustit mysql
systemctl povolit mysql

Nyní zkontrolujte službu MySQL pomocí příkazu níže.

stav systemctl mysql

Služba MySQL je v provozu.

Dále nastavíme heslo uživatele root pro server MySQL.

Spusťte níže uvedený příkaz 'mysql_secure_installation'.

mysql_secure_installation

Nyní budete dotázáni jako na následující konfiguraci a ujistěte se, že jste zadali své silné heslo pro uživatele root MySQL.

Stiskněte y|Y pro Ano, jakoukoli jinou klávesu pro Ne:Stiskněte Enter

Nové heslo:
Znovu zadejte nové heslo:

Odstraňte anonymní uživatele ? (Stiskněte y|Y pro Ano, jakoukoli jinou klávesu pro Ne) :Y
Zakázat vzdálené přihlášení root? (Stiskněte y|Y pro Ano, jakoukoli jinou klávesu pro Ne) :Y
Odstranit testovací databázi a získat k ní přístup? (Stiskněte y|Y pro Ano, jakoukoli jinou klávesu pro Ne) :Y
Znovu načíst tabulky oprávnění nyní? (Stiskněte y|Y pro Ano, jakékoli jiné tlačítko pro Ne) :Y

A kořenové heslo MySQL bylo nakonfigurováno.

V důsledku toho byla dokončena instalace a konfigurace databáze MySQL na Ubuntu 20.04.

Krok 3 – Instalace a konfigurace PHP-FPM

PHP-FPM nebo FastCGI Process Manager je alternativou pro starší PHP FastCGI, která poskytuje další funkce a vylepšení rychlosti. Dobře se hodí pro malé i velké weby založené na programovacím jazyce PHP.

V tomto kroku nainstalujeme výchozí PHP7.4-FPM s některými dalšími rozšířeními požadovanými PHPMyAdmin.

Nainstalujte PHP-FPM pomocí příkazu níže.

sudo apt install php-fpm php-cli php-curl php-mysql php-curl php-gd php-mbstring php-pear -y

Po dokončení instalace PHP-FPM přejděte do adresáře '/etc/php/7.4/fpm' a upravte konfiguraci php.ini pomocí editoru vim.

cd /etc/php/7.4/fpm/
vim php.ini

Odkomentujte následující konfiguraci a změňte hodnotu na '0'.

cgi.fix_pathinfo =0

Uložit a zavřít.

Nyní spusťte službu PHP7.4-FPM a povolte její spuštění při každém startu systému

systemctl spustit php7.4-fpm
systemctl povolit php7.4-fpm

Služba PHP-FPM je v provozu, zkontrolujte ji pomocí následujícího příkazu.

stav systemctl php7.4-fpm

Níže je výsledek, který dostanete.

Ve výchozím nastavení běží PHP-FPM pod sock souborem, zkontrolujte pomocí příkazu ss níže.

ss -pl | grep php

Níže je odpověď, kterou dostanete.

u_str   LISTEN   0     511   /run/php/php7.4-fpm.sock 67702   * 0                            

A instalace PHP-FPM 7.4 na Ubuntu 20.04 byla dokončena.

Krok 4 – Konfigurace Nginx a PHP-FPM

V tomto kroku nakonfigurujeme webový server Nginx a PHP-FPM.

Přejděte do konfiguračního adresáře '/etc/nginx' a upravte soubor 'nginx.conf' pomocí vim nebo nano.

cd /etc/nginx/
vim nginx.conf

Chcete-li skrýt verzi Nginx, odkomentujte následující řádek.

server_tokens off;

Uložit a zavřít.

Dále upravte 'výchozí' konfiguraci virtuálního hostitele v adresáři 'sites-available'.

vim sites-available/default

Odkomentujte řádek PHP zobrazený níže a změňte řádek souboru sock.

        umístění ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        # # S php-fpm (nebo jinými unixovými zásuvkami                                        unix:/run/php/php7.4-fpm.sock;
        # # S php-cgi (nebo jinými tcp sockety):
        # fastcgi_pass 127.2.0.1:9000;
        }

Uložit a zavřít.

Otestujte konfiguraci Nginx a ujistěte se, že nedošlo k chybě, poté restartujte službu.

nginx -t
systemctl restart nginx

V důsledku toho byla konfigurace Nginx a PHP-FPM dokončena.

Krok 5 – Instalace phpMyAdmin

PhpMyAdmin je aplikace založená na PHP pro správu databází MySQL nebo MariaDB z webového prohlížeče. V tomto kroku nainstalujeme a nakonfigurujeme PHPMyAdmin pod zásobníkem LEMP (Linux, Nginx, MySQL a PHP-FPM).

Nainstalujte PHPMyAdmin pomocí příkazu apt níže.

sudo apt install phpmyadmin

Během instalace se vás zeptá na konfiguraci webového serveru pro phpmyadmin.

Vyberte žádnou možnost a přesuňte kurzor na 'OK '.

Pro databázi phpmyadmin a konfiguraci uživatele zvolte 'Ano '.

A zadejte nový 'STRONG' PHPMyAdmin admin, například '[email protected]#'.

Opakujte heslo „[email protected]#“.

A instalace phpMyAdmin na Ubuntu 20.04 je dokončena.

Krok 6 – Konfigurace phpMyAdmin pomocí Nginx a MySQL

Po instalaci phpmyadmin musíme nakonfigurovat phpmyadmin, aby běžel pod webovým serverem Nginx a nakonfigurovat přístup phpmyadmin uživatele MySQL. Chcete-li spustit PHPMyAdmin pod webovým serverem Nginx, musíme přidat konfiguraci do konfiguračního souboru virtuálního hostitele.

Konfigurace phpMyAdmin pomocí webového serveru Nginx

Nyní přejděte do konfiguračního adresáře '/etc/nginx' a upravte výchozí soubor virtuálního hostitele.

cd /etc/nginx/sites-available/
výchozí vim

Vložte následující konfiguraci Nginx pro PHPMyAdmin do závorky 'server {...}'.

umístění /phpmyadmin {
    root /usr/share/;
    index index.php;
    try_files $uri $uri/ =404;

umístění ~ ^/phpmyadmin/(doc|sql|setup)/ {
    zakázat vše;
    }

umístění ~ /phpmyadmin/(.+\.php)$ {
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
   
}

Uložte a ukončete.

Otestujte konfiguraci nginx a ujistěte se, že nedošlo k chybě, poté restartujte službu nginx.

nginx -t
znovu načíst systemctl nginx

A přidali jsme konfiguraci Nginx pro naši instalaci phpMyAdmin, je přístupná přes URL cesty jako 'http://server-ip/phpmyadmin'.

Povolit uživateli phpMyAdmin přístup k databázím

V tomto tutoriálu budeme pro PHPMyAdmin používat uživatele MySQL bez oprávnění root. Vytvoříme nového uživatele a udělíme mu všechna oprávnění všech databází na serveru.

Přihlaste se do prostředí MySQL pomocí následujícího příkazu.

mysql -u root -p

Nyní vytvořte nového uživatele MySQL 'hakase' a udělte mu všechna databázová oprávnění.

vytvořit uživatele [chráněno e-mailem]'localhost' označeného jako '[email protected]#';
udělit všechna oprávnění na *.* uživateli [email protected]'localhost';
vyprázdnit oprávnění;

Nyní zadejte 'exit' pro odhlášení z prostředí MySQL.

exit

V důsledku toho jsme vytvořili nového uživatele MySQL pro phpMyAdmin.

Krok 7 – Testování

V tomto kroku otestujeme naši konfiguraci LEMP Stack a phpMyAdmin.

Test soubor PHP

Přejděte do adresáře '/var/www/html' a vytvořte nový soubor skriptu 'info.php' pomocí editoru vim.

cd /var/www/html
vim info.php

Vložte do něj následující skript.

phpinfo();
?>

Uložit a zavřít.

Dále otevřete webový prohlížeč a zadejte IP adresu svého serveru za cestou k vašemu skriptu 'info.php'.

http://ip-server-ip/info.php

Níže je výsledek, který dostanete.

Výsledkem je podrobná konfigurace našeho PHP-FPM 7.4 na serveru Ubuntu 20.04 a skript PHP běží na našem serveru LEMP Stack.

Test phpMyAdmin

Chcete-li otestovat naši instalaci phpMyAdmin, zadejte IP adresu svého serveru za cestu 'phpmyadmin' na URL.

http://ip-server-ip/phpmyadmin/

A získáte přihlašovací stránku phpMyAdmin.

Chcete-li se přihlásit do phpMyAdmin, zadejte uživatele, kterého jsme vytvořili. Uživatel je 'hakase' s heslem '[email protected]#', poté klikněte na 'Go '.

A získáte řídicí panel phpMyAdmin, jak je uvedeno níže.

phpMyAdmin pracuje v prostředí LEMP Stack.

V důsledku toho byla instalace a konfigurace LEMP Stack na Ubuntu 20.04 úspěšně dokončena.


Ubuntu
  1. Jak nainstalovat Phorum s Nginx na Ubuntu 18.04 LTS

  2. Jak nainstalovat Nginx s PHP5 a MySQL na Ubuntu 11.10

  3. Jak nainstalovat LEMP Stack Nginx, MySQL, PHP na Ubuntu 22.04

  1. Jak nainstalovat Lighttpd s PHP5 a MySQL na Ubuntu 11.04

  2. Jak nainstalovat LAMP Stack na Ubuntu 22.04 LTS

  3. Jak nainstalovat a nastavit PHP a Nginx (LEMP) na Ubuntu 20.04

  1. Jak nainstalovat Seafile s Nginx na Ubuntu 18.04 LTS

  2. Jak nainstalovat Nginx s PHP a MySQL (LEMP Stack) na CentOS 7

  3. Jak nainstalovat Nginx s PHP a MySQL (LEMP Stack) na Ubuntu 18.04