GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Nginx, MySQL &PHP (LEMP) na Ubuntu 20.04

Kombinace Linuxu, Nginx, MySQL a PHP je známá jako LEMP stack a je populárním webhostingovým prostředím pro aplikace založené na PHP. Linux je operační systém, Nginx je populární webový server, MySQL je systém pro správu relačních databází používaný pro ukládání dat a PHP je široce používaný programovací jazyk.

Tento článek vám pomůže nainstalovat Nginx, MySQL 8.0 a PHP 7.4 na systém Ubuntu Linux. Začněme instalací LEMP stacku vašeho počítače Ubuntu.

Předpoklady

Před zahájením instalace LEMP na Ubuntu:

  • Spuštěný systém Ubuntu 20.04
  • Přihlaste se do svého systému jako sudo provileded účet. Chcete-li jej vytvořit, postupujte podle návodu k počátečnímu nastavení serveru.
  • Název domény/subdomény odkazující na váš server

Instalace webového serveru Nginx

Dále musíte do systému nainstalovat webový server Nginx. Balíčky Nginx jsou dostupné ve výchozích repozitářích apt.

Spusťte následující příkazy a nainstalujte jej:

sudo apt update
sudo apt install nginx

Instalace PHP s PHP-FPM

Balíčky PHP 7.4 jsou dostupné pod výchozími repozitáři na Ubuntu 20.04 LTS. Pomocí následujícího příkazu aktualizujte mezipaměť apt a nainstalujte PHP do vašeho systému.

sudo apt update
sudo apt install -y php7.4 php7.4-fpm

Nainstalujte také další moduly PHP požadované pro vaši aplikaci.

sudo apt install php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-xml

Nainstalovali jste PHP 7.4 s balíkem PHP FPM na váš systém. Pojďme zkontrolovat stav služby PHP FPM spuštěním níže uvedeného příkazu:

sudo systemctl status php7.4-fpm

● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-06-16 05:15:57 UTC; 34s ago
       Docs: man:php-fpm7.4(8)
    Process: 882716 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/7.4/fpm/pool.d/www.conf 74>
   Main PID: 882699 (php-fpm7.4)
     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
      Tasks: 3 (limit: 2283)
     Memory: 10.3M
     CGroup: /system.slice/php7.4-fpm.service
             ├─882699 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)
             ├─882714 php-fpm: pool www
             └─882715 php-fpm: pool www

Jun 16 05:15:57 tecadmin systemd[1]: Starting The PHP 7.4 FastCGI Process Manager...
Jun 16 05:15:57 tecadmin systemd[1]: Started The PHP 7.4 FastCGI Process Manager.

Instalace MySQL

Výchozí úložiště Ubuntu 20.04 apt obsahuje server MySQL 8.0. Nakonec nainstalujte balíčky mysql-server pro databázi MySQL. Chcete-li používat podporu MySQL pomocí PHP, nainstalujte si také balíček php-mysql. K instalaci použijte následující příkaz.

sudo apt install mysql-server php7.4-mysql

Instalační program vás vyzve k zadání hesla root. Toto heslo bude fungovat pro vašeho uživatele root MySQL. Po instalaci MySQL spusťte následující příkaz pro počáteční nastavení serveru MySQL. Uvidíte, že skript bude vyžadovat více nastavení než dřívější verze MySQL, jako je politika ověřování hesla atd.

sudo mysql_secure_installation
Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component? 

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Please set the password for root here.

New password:

Re-enter new password:

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!

Nakonfigurujte Nginx pomocí PHP-FPM

Vytvořme virtuálního hostitele Nginx pro běh s FPM/FastCGI. Pro tento tutoriál používáme výchozí VirtualHost. Upravte konfigurační soubor hostitele VirtualHost v textovém editoru. Můžete vytvořit nový VirtualHost podle svých požadavků, takže nezapomeňte povolit jakýkoli nový VirtualHost.

sudo vim /etc/nginx/sites-available/example.com

Použijte níže uvedenou základní konfiguraci virtuálního hostitele Nginx s nastavením php fpm. Aktualizujte konfiguraci následovně.

Apache
123456789101112131415 server { poslouchat 80; root /var/www/html; index index.php index.html index.htm; název_serveru example.com; umístění / { try_files $uri $uri/ =404; } umístění ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; }}

Uložte změny do konfiguračního souboru a vytvořte odkaz na adresář povolený webem.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com 

Poté restartujte službu Nginx a znovu načtěte změny.

sudo systemctl restart nginx

Krok 5 – Správa služeb

Dokončili jsme instalaci zásobníku LAMP na systém Ubuntu 20.04 LTS. Níže uvedené příkazy vám pomohou spustit/zastavit nebo restartovat služby Nginx a MySQL běžící s systemd.

Chcete-li restartovat služby Nginx a MySQL, zadejte:

sudo systemctl restart nginx
sudo systemctl restart mysql

Chcete-li spustit služby Nginx a MySQL, zadejte:

sudo systemctl start nginx
sudo systemctl start mysql

Chcete-li zastavit služby Nginx a MySQL, zadejte:

sudo systemctl stop nginx
sudo systemctl stop mysql

Krok 6 – Úprava pravidel brány firewall

Chcete-li to povolit, můžete přímo zadat název služby, například „http“ nebo „https“. Firewall používá soubor /etc/services k určení odpovídajícího portu služby.

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

sudo firewall-cmd --reload

Krok 7 – Ověřte nastavení

Po dokončení všech nastavení. Vytvoříme info.php soubor kořenový adresář dokumentu webové stránky s následujícím obsahem.

sudo echo "<?php phpinfo(); ?>" > /var/www/html/info.php

Nyní otevřete tento soubor ve webovém prohlížeči. Uvidíte obrazovku jako níže se všemi podrobnostmi o PHP na serveru.

Gratulujeme! Úspěšně jste nakonfigurovali LEMP server na vašem systému Ubuntu 20.04 LTS.


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

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

  3. Jak nainstalovat LEMP na Ubuntu 18.04

  1. Jak nainstalovat LEMP Stack (Nginx, MySQL, PHP v7) na CentOS 7

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

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

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

  2. Jak nainstalovat Nginx s PHP + MySQL (LEMP) na Debian 9

  3. Nginx 1.7.9 + PHP5-FPM + MySQL (LEMP) na Ubuntu 14.10