GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat PHP-FPM s Apache na Ubuntu 22.04

Jak nainstalovat PHP-FPM s Apache na Ubuntu 22.04. Existují dvě různé možnosti spuštění PHP pomocí webového serveru. Jeden používá CGI PHP a druhý je FPM. FPM je správce procesů pro správu FastCGI v PHP. Apache se dodává s mod_php ve výchozím nastavení a funguje se všemi hlavními webovými servery. S mod_php je tu malý problém s výkonem, protože to blokuje proces.

V této příručce se dozvíte, jak nastavit PHP 8.1-FPM a nakonfigurovat jej pomocí Apache a také nakonfigurovat proměnné PHP.

Toto nastavení lze také provést na jiných VPS nebo vyhrazených nebo cloudových virtuálních počítačích. Toto nastavení je testováno na Google Compute Engine, ale funguje na všech distribucích Ubuntu nebo Debian Linux.

Začínáme

Spuštěním následujícího příkazu se ujistěte, že váš server Ubuntu má nejnovější balíčky.

sudo apt update
sudo apt upgrade

Tím se aktualizuje index balíčků a nainstalované balíčky na nejnovější verzi.

Krok 1:Instalace PHP 8.1 FPM

Ve výchozím nastavení má Ubuntu 22.04 nejnovější úložiště PHP 8.1. PHP tedy můžete nainstalovat pomocí následujícího příkazu.

sudo apt install php8.1-fpm php8.1 libapache2-mod-php8.1 php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl php8.1-bcmath unzip -y

Počkejte na dokončení instalace.

Po dokončení instalace ověřte instalaci pomocí následujícího příkazu.

sudo service php8.1-fpm status

Obdržíte výstup podobný tomu níže.

Output
● php8.1-fpm.service - The PHP 8.1 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php8.1-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-05-08 05:42:31 UTC; 2min ago
       Docs: man:php-fpm8.1(8)
    Process: 564 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.s>
...

Krok 2:Instalace Apache

Jakmile budete mít svůj PHP-FPM v provozu, můžete nainstalovat webový server Apache.

sudo apt install apache2

Zkontrolujte verzi Apache pomocí níže uvedeného příkazu

sudo apachectl -v
Output
Server version: Apache/2.4.52 (Ubuntu)
Server built:   2022-03-25T00:35:40

Každý proces v Apache je spravován pomocí systemctl příkaz. Zkontrolujte stav Apache pomocí následujícího příkazu.

sudo systemctl status apache2
Output
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-05-08 05:45:29 UTC; 1min 47s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 12782 (apache2)
      Tasks: 55 (limit: 1151)
     Memory: 5.1M
        CPU: 52ms
     CGroup: /system.slice/apache2.service
             ├─12782 /usr/sbin/apache2 -k start
             ├─12784 /usr/sbin/apache2 -k start
             └─12785 /usr/sbin/apache2 -k start

Krok 3:Konfigurace Apache pomocí PHP-FPM

Ve výchozím nastavení bude Apache používat mod_php takže nyní můžete nakonfigurovat Apache tak, aby používal PHP-FPM.

Zakažte výchozí konfiguraci Apache vhost.

sudo a2dissite 000-default

Povolit modul událostí Apache

Zakažte všechny výchozí moduly předlisků pro všechny existující verze PHP.

sudo a2dismod php7.4

Zakázat modul Apache Prefork.

sudo a2dismod mpm_prefork

Povolit modul událostí Apache.

sudo a2enmod mpm_event proxy_fcgi setenvif

Povolit konfiguraci PHP FPM

Nyní můžete povolit konfiguraci PHP-FPM.

sudo a2enconf php8.1-fpm

Povolit HTTP2

Pokud potřebujete podporu HTTP 2, můžete ji také povolit.

sudo a2enmod http2

Nyní je Apache nakonfigurován pomocí PHP FPM.

Krok 4:Konfigurace PHP-FPM

Nyní nakonfigurujeme PHP pro webové aplikace změnou některých hodnot v php.ini soubor.

Pro PHP 8.1 s Nginx php.ini umístění bude v následujícím adresáři.

sudo nano /etc/php/8.1/fpm/php.ini

Stiskněte F6 pro vyhledávání v editoru a pro lepší výkon aktualizujte následující hodnoty.

upload_max_filesize = 32M 
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000

Jakmile upravíte nastavení PHP, musíte restartovat PHP-FPM, aby se změny projevily.

sudo service php8.1-fpm restart

Krok 5:Konfigurace virtuálních hostitelů Apache

Vytvořte novou konfiguraci Apache vhost.

sudo nano /etc/apache2/sites-available/domain.conf

Vložte níže uvedenou konfiguraci do souboru.

<VirtualHost *:80>
     ServerName domain.com
     ServerAlias www.domain.com
     
     Protocols h2 http/1.1

     DocumentRoot /var/www/html/domain/public

     <Directory /var/www/html/domain/public>
         Options -Indexes +FollowSymLinks
         AllowOverride All
         Require all granted
     </Directory>
 
      ErrorLog ${APACHE_LOG_DIR}/error.log
      CustomLog ${APACHE_LOG_DIR}/access.log combined  
</VirtualHost> 

Stiskněte CTRL + X následuje Y a Enter pro uložení a ukončení souboru.

Nyní můžete povolit novou konfiguraci Apache.

sudo a2ensite domain.conf

Restartujte Apache.

sudo service apache2 restart

Krok 6:Ověřte PHP-FPM pomocí Apache

Zde jsme nakonfigurovali /var/www/html/domain/public jako webový kořen v konfiguraci Apache. Nyní tedy můžete přejít do tohoto adresáře a vytvořit phpinfo soubor pro kontrolu nastavení.

cd /var/www/html/domain/public
sudo nano info.php

Vložte následující.

<?php phpinfo();

Stiskněte CTRL + X následuje Y a Enter pro uložení a ukončení souboru.

Nyní přejděte do prohlížeče a nasměrujte jej na IP adresu serveru nebo název domény a za ním info.php . Vaše adresa tedy bude vypadat takto http://domain.com/info.php

Uvidíte stránku s informacemi o PHP a potvrdíte, že se s Apache používá PHP-FPM.

Připravte se na roli odborníka na informační technologie s operačním systémem Linux

Závěr

Nyní jste se naučili, jak nainstalovat PHP 8.1-FPM s Apache a nakonfigurovat PHP v Ubuntu 22.04. Také jste se naučili nastavovat fondy PHP-FPM pro více uživatelů.


Linux
  1. Jak nainstalovat Apache na Ubuntu?

  2. Nainstalujte phpMyAdmin na Ubuntu 20.04 s Apache

  3. Jak nainstalovat PHP-FPM s Apache na Ubuntu 20.04

  1. Jak nainstalovat WordPress s Apache na Ubuntu 18.04

  2. Nainstalujte phpMyAdmin na Ubuntu 22.04 s Apache

  3. Jak nainstalovat Apache Cassandra na Ubuntu 20.04

  1. Jak nainstalovat Joomla s Apache na Ubuntu 18.04

  2. Jak nainstalovat Laravel na Ubuntu 18.04 s Apache

  3. Jak nainstalovat Drupal 7 s Apache na Ubuntu 14.04