FastCGI Process Manager (FPM) je alternativou ke konfiguraci FastCGI s mnoha vylepšeními. To je užitečné pro weby s vysokou zátěží. Tento tutoriál vám pomůže s instalací a konfigurací PHP-FPM s Nginx na vašem systému Debian 10 Buster Linux.
Předpoklady
Musíte mít SSH přístup k systému Debian 10 s právy Sudo.
Instalace Nginx
Balíčky Nginx jsou k dispozici ve výchozích úložištích. SSH do vašeho systému Debian 10 s účty s právy sudo a nainstalujte webový server Nginx z oficiálního úložiště.
sudo apt update sudo apt install nginx
Instalace PHP
Pro instalaci PHP doporučujeme použít PPA Ondřeje Surého, který poskytuje nejnovější verze PHP pro systémy Debian. Pomocí níže uvedených příkazů přidejte PPA do vašeho systému.
wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add - sudo echo "deb https://packages.sury.org/php/ buster main" | tee /etc/apt/sources.list.d/php.list
Poté nainstalujte nejnovější verzi PHP 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 pod /etc/php/7.3/fpm/ adresář. Můžete si přečíst více o povolení/zakázaní modulů PHP.apt update sudo apt install php php-fpm
Po instalaci výše uvedených balíčků se služba php7.3-fpm automaticky spustí. Můžete se ujistit zadáním příkazu níže na terminálu.
sudo systemctl status php7.3-fpm ● php7.3-fpm.service - The PHP 7.3 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.3-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2019-12-03 10:01:54 UTC; 24min ago Docs: man:php-fpm7.3(8) Main PID: 9883 (php-fpm7.3) Status: "Processes active: 0, idle: 2, Requests: 3, slow: 0, Traffic: 0req/sec" Tasks: 3 (limit: 3587) Memory: 14.2M CGroup: /system.slice/php7.3-fpm.service ├─9883 php-fpm: master process (/etc/php/7.3/fpm/php-fpm.conf) ├─9884 php-fpm: pool www └─9885 php-fpm: pool www Dec 03 10:01:54 tecadmin-debian10 systemd[1]: Starting The PHP 7.3 FastCGI Process Manager... Dec 03 10:01:54 tecadmin-debian10 systemd[1]: Started The PHP 7.3 FastCGI Process Manager.
Konfigurace Nginx
Pojďme vytvořit virtuální 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:/run/php/php7.3-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.service
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
Nyní přejděte na info.php pomocí IP adresy serveru (pro výchozí VirtualHost) pro vaši nakonfigurovanou doménu v Nginx VirtualHost.
http://localhost/info.php
Závěr
Vše hotovo. Úspěšně jste nakonfigurovali webový server Nginx s PHP-FPM na vašem Debian 10 (Buster) Linuxu. Váš server je připraven hostovat webové stránky.