GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat LEMP Stack (Nginx, MariaDB, PHP7.1) na Ubuntu 17.10

Tento tutoriál vám ukáže, jak nainstalovat Nginx, MariaDB a PHP7.1 (LEMP) na Ubuntu 17.10. Tento návod můžete sledovat na VPS (Virtual Private Server) nebo na místním počítači Ubuntu 17.10. PHP7.1 je součástí Ubuntu 17.10 a oproti PHP7.0 má menší výkon.

Krok 1:Aktualizace softwarových balíčků

Než nainstalujeme zásobník LEMP, je dobré aktualizovat úložiště a softwarové balíčky. Spusťte následující příkaz na vašem Ubuntu 17.10 OS.

sudo apt update

sudo apt upgrade

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. Zadejte tento příkaz pro instalaci webového serveru Nginx.

sudo apt install nginx

Po jeho instalaci můžeme povolit automatické spouštění Nginx při spuštění Ubuntu spuštěním následujícího příkazu.

sudo systemctl enable nginx

Poté spusťte Nginx pomocí tohoto příkazu:

sudo systemctl start nginx

Nyní zkontrolujte jeho stav.

systemctl status nginx

Výstup:

● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: en
   Active: active (running) since Tue 2017-12-12 06:17:50 UTC; 51s ago
     Docs: man:nginx(8)
 Main PID: 15672 (nginx)
    Tasks: 2 (limit: 4915)
   Memory: 6.3M
      CPU: 37ms
   CGroup: /system.slice/nginx.service
           ├─15672 nginx: master process /usr/sbin/nginx -g daemon on; master_pr
           └─15675 nginx: worker process

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:

nginx version: nginx/1.12.1 (Ubuntu)

Nyní zadejte veřejnou IP adresu vašeho serveru Ubuntu 17.10 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 17.10, zadejte 127.0.0.1 nebo localhost v adresním řádku prohlížeče.

Nakonec musíme vytvořit www-data (uživatel Nginx) jako vlastník webového kořenové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 17.10.

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 - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset:enabled) 
   Active: active (running) since Tue 2017-12-12 06:36:12 UTC; 6s ago
 Main PID: 17409 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 26 (limit: 4915)
   Memory: 59.9M
      CPU: 342ms
   CGroup: /system.slice/mariadb.service
           └─17409 /usr/sbin/mysqld

Pokud neběží, spusťte jej tímto příkazem:

sudo systemctl start mariadb

Chcete-li povolit automatické spouštění MariaDB při spouštění, spusťte

sudo systemctl enable mariadb

Nyní spusťte bezpečnostní skript po instalaci.

sudo mysql_secure_installation

Až 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 stisknutí klávesy Enter je stejné jako psaní Y. )

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 k přihlášení do konzoly MariaDB můžete použít uživatelské jméno a heslo operačního systému. Můžete tedy spustit následující příkaz a přihlásit se bez zadání hesla root MariaDB.

sudo mariadb -u root

Chcete-li ukončit, spusťte

exit;

Zkontrolujte informace o verzi serveru MariaDB.

mariadb --version

Jak můžete vidět, nainstalovali jsme MariaDB 10.1.25.

mariadb Ver 15.1 Distrib 10.1.25-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Krok 4:Nainstalujte PHP7.1

PHP7.1 je součástí úložiště Ubuntu 17.10 a oproti PHP7.0 má menší výkon. Chcete-li nainstalovat PHP7.1 a některá běžná rozšíření, zadejte následující příkaz.

sudo apt install php7.1 php7.1-fpm php7.1-mysql php-common php7.1-cli php7.1-common php7.1-json php7.1-opcache php7.1-readline php7.1-mbstring php7.1-xml php7.1-gd php7.1-curl

Rozšíř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.1-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:

PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function xml_parser_create()

Instalace těchto rozšíření PHP zajistí, že váš CMS běží hladce. Nyní spusťte php7.1-fpm.

sudo systemctl start php7.1-fpm

Povolit automatické spouštění při spouštění.

sudo systemctl enable php7.1-fpm

Zkontrolujte stav:

systemctl status php7.1-fpm

Ukázkový výstup:

● php7.1-fpm.service - The PHP 7.1 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.1-fpm.service; enabled; vendor preset:enabled)
   Active: active (running) since Tue 2017-12-12 06:53:08 UTC; 4min 25s ago
     Docs: man:php-fpm7.1(8)
 Main PID: 27560 (php-fpm7.1)
   Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/se
    Tasks: 3 (limit: 4915)
   Memory: 28.0M
      CPU: 58ms
   CGroup: /system.slice/php7.1-fpm.service
           ├─27560 php-fpm: master process (/etc/php/7.1/fpm/php-fpm.conf)
           ├─27580 php-fpm: pool www
           └─27583 php-fpm: pool www

Krok 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 v sites-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/default

Poté vytvořte zcela nový soubor bloku serveru pod /etc/nginx/conf.d/ adresář.

sudo nano /etc/nginx/conf.d/default.conf

Do souboru vložte následující text. Nahraďte 12.34.56.78 svou skutečnou IP adresou serveru.

server {
  listen 80;
  listen [::]:80;
  server_name 12.34.56.78;
  root /usr/share/nginx/html/;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
    try_files $uri $uri/ /index.php;
  }

  error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;

  location = /50x.html {
    root /usr/share/nginx/html;
  }

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.1-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
  }

  location ~ /\.ht {
    deny all;
  }
}

Uložte a zavřete soubor. Poté otestujte konfigurace Nginx.

sudo nginx -t

Pokud je test úspěšný, znovu načtěte Nginx.

sudo systemctl reload nginx

Krok 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.php

Do souboru vložte následující kód PHP.

<?php phpinfo(); ?>

Uložte a zavřete soubor. Nyní do adresního řádku prohlížeče zadejte server-ip-address/info.php . Nahraďte sever-ip-address s vaší skutečnou IP. Pokud postupujete podle tohoto návodu na místním počítači, zadejte 127.0.0.1/info.php nebo localhost/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.

Jak nainstalovat PHP7.2

PHP7.2 je nejnovější stabilní verze PHP, vydaná 30. listopadu 2017 a oproti PHP7.1 má menší výkon. Můžeme přidat PPA od Ondřeje Sury pro instalaci PHP7.2 na Ubuntu 17.10. Ten chlap je také správcem Certbot PPA.

sudo apt install software-properties-common

sudo add-apt-repository ppa:ondrej/php

sudo apt update

Poté můžeme nainstalovat PHP7.2 a běžná rozšíření pomocí následujícího příkazu.

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-curl

Nyní spusťte PHP7.2-FPM.

sudo systemctl start php7.2-fpm

Povolte automatické spouštění při spouštění systému.

sudo systemctl enable php7.2-fpm

Zkontrolujte jeho stav:

systemctl status php7.2-fpm

Používání PHP7.2-FPM s Nginx

Aby Nginx používal PHP7.2-FPM místo PHP7.1-FPM, musíme upravit soubor bloku serveru Nginx.

sudo nano /etc/nginx/conf.d/default.conf

Najděte následující řádek.

fastcgi_pass unix:/run/php/php7.1-fpm.sock;

Změňte php7.1-fpm na php7.2-fpm .

fastcgi_pass unix:/run/php/php7.2-fpm.sock;

Uložte a zavřete soubor. Poté znovu načtěte Nginx, aby se změna projevila.

sudo systemctl reload nginx

Pokud obnovíte server-ip-address/info.php na stránce, uvidíte, že Nginx nyní používá PHP7.2-FPM.

PHP7.1 může koexistovat s PHP7.2. Pokud nechcete používat PHP7.1, můžete jej odebrat. Mějte prosím na paměti, že některé webové aplikace nemusí být kompatibilní s PHP7.2 jako NextCloud 12. V mém testu běží WordPress dobře s PHP7.2.

Gratuluji! Úspěšně jste nainstalovali Nginx, MariaDB a PHP7 na Ubuntu 17.10. Pro bezpečnost vašeho serveru byste měli nyní smazat soubor info.php, abyste zabránili zvědavým pohledům.

sudo rm /usr/share/nginx/html/info.php

A je to! Doufám, že vám tento tutoriál pomohl nainstalovat zásobník LEMP na Ubuntu 17.10 . 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.


Ubuntu
  1. Jak nainstalovat LEMP na Ubuntu 18.04

  2. Jak nainstalovat Magento 2.4 s LEMP Stack na Ubuntu 20.04

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

  1. Jak nainstalovat LEMP Stack na Arch Linux

  2. Jak nainstalovat Nginx, MariaDB, PHP (LEMP Stack) na Debian 11

  3. Jak nainstalovat LEMP Stack na Ubuntu 16.04

  1. Jak nainstalovat Linux, Nginx, MySQL, PHP (LEMP Stack) v Ubuntu 18.04

  2. Jak nainstalovat LEMP Stack na Ubuntu 20.04

  3. Nainstalujte WordPress na Ubuntu 20.04 s Nginx, MariaDB, PHP7.4 (LEMP)