PHP-FPM (FastCGI Process Manager) je alternativní implementace PHP FastCGI. Poskytuje některé další funkce, jako je vytváření adaptivních procesů, které jsou užitečné pro weby. Tento tutoriál vám pomůže nainstalovat Apache s PHP-FPM/FastCGI na systému Ubuntu 16.04. V tomto tutoriálu používáme PHP 7.2 a konfigurujeme s Apache pomocí PHP-FPM a FastCGI.
- Nainstalujte Apache s PHP a FastCGI na CentOS/RHEL
Můžete také navštívit předchozí tutoriál pro konfiguraci Apache s více verzemi PHP pomocí PHP-FPM/FastCGI na systémech Ubuntu.
Instalace Apache
Nainstalujte webový server Apache z oficiálního úložiště. Spusťte terminál na vašem systému nebo se přihlaste pomocí ssh ke vzdáleným systémům. Chcete-li nainstalovat nejnovější dostupnou verzi webového serveru Apache a modulu FastCGI, spusťte následující příkazy.
sudo apt update sudo apt install apache2 libapache2-mod-fastcgi
Instalace PHP
Pro instalaci verzí PHP používáme zde udržovaný PPA. Pomocí níže uvedených příkazů přidejte PPA do vašeho systému.
sudo apt install python-software-properties sudo add-apt-repository ppa:ondrej/php
A nainstalujte PHP 7.2 nejnovější verzi dostupnou v den psaní tohoto návodu. Jednoduše spusťte následující příkazy pro instalaci balíčků PHP a PHP-FPM.
Poznámka:- Když používáte PHP-FPM. Všechny konfigurace modulů PHP jsou umístěny v adresáři /etc/php/7.2/fpm. Můžete si přečíst více o povolení/zakázaní modulů PHP.apt update sudo apt install php7.2 php7.2-fpm
Po instalaci výše uvedených balíčků se služba php7.2-fpm automaticky spustí. Můžete se ujistit zadáním příkazu níže na terminálu.
sudo systemctl status php7.2-fpm ● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabl Active: active (running) since Wed 2018-02-21 10:13:28 UTC; 17s ago Docs: man:php-fpm7.2(8) Main PID: 27506 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec" CGroup: /system.slice/php7.2-fpm.service ├─27506 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) ├─27509 php-fpm: pool www └─27510 php-fpm: pool www Feb 21 10:13:28 tecadmin systemd[1]: Starting The PHP 7.2 FastCGI Process Manager... Feb 21 10:13:28 tecadmin systemd[1]: Started The PHP 7.2 FastCGI Process Manager.
Konfigurace Apache
Nyní povolte několik modulů potřebných pro konfiguraci více verzí PHP s Apache. Tyto moduly jsou nezbytné pro integraci PHP FPM a FastCGI se serverem Apache.
a2enmod actions fastcgi alias proxy_fcgi
Pojďme nakonfigurovat Apache VirtualHost tak, aby běžel 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/apache2/sites-available/000-default.conf
Aktualizujte konfiguraci následovně.
Apache
12345678910111213141516171819202122 |
Uložte změny do konfiguračního souboru a restartujte Apache, aby se změny znovu načetly.
sudo systemctl restart apache2
Nastavení testu
Vytvořte skript PHP pomocí phpinfo() a umístěte jej do kořenového adresáře dokumentů na serveru. K tomu použijte níže uvedený příkaz.
echo " <?php phpinfo(); ?> " > /var/www/html/info.php
Otevřete webový prohlížeč a přejděte na info.php pomocí IP adresy serveru (pro výchozí VirtualHost) pro vaši nakonfigurovanou doménu v Apache VirtualHost.