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ů.