PHP-FPM
Используйте PHP-FPM для PHP apps, пока Fluxheim безопасно раздает static assets и пересылает PHP requests.
Внешний PHP-FPM pool
[vhosts.php]
enabled = true
root = "/srv/app/public"
index = "index.php"
[vhosts.php.fpm]
mode = "external"
socket = "/run/php-fpm/app.sock"
Выбор endpoint
| Режим | Используйте, когда |
|---|---|
socket | Fluxheim и PHP-FPM работают на одном host. |
tcp | PHP-FPM runs in another container or host. |
tcp_upstreams | Нужен простой safe-method failover между PHP-FPM pools. |
managed | Fluxheim должен запускать и supervise private PHP-FPM master. |
Managed PHP-FPM
[vhosts.php.fpm]
mode = "managed"
php_fpm_binary = "/usr/sbin/php-fpm"
socket_dir = "/run/fluxheim/php"
workers = 4
process_manager = "dynamic"
start_servers = 2
min_spare_servers = 1
max_spare_servers = 4
Managed mode lets Fluxheim start a private php-fpm master for the vhost. Используйте, когда you want Fluxheim to own the socket and generated pool files.
PHP safety controls для uploads для uploads
- Держите PHP files внутри configured root.
- По возможности раздавайте static assets напрямую.
- Никогда не раскрывайте PHP source, если PHP execution fails.
- Запрещайте PHP execution в upload directories.
- Используйте request и response byte limits для untrusted applications.