PHP-FPM

PHP appsにはPHP-FPMを使い、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 choices

mode使う場面
socketFluxheimとPHP-FPMが同じhostで動く場合。
tcpPHP-FPM runs in another container or host.
tcp_upstreamsPHP-FPM pools間でsimple safe-method failoverが必要な場合。
managedFluxheimがprivate PHP-FPM masterをstartおよびsuperviseする必要がある場合。

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設定設定

  • PHP filesはconfigured rootの内側に置きます。
  • 可能な場合はstatic assetsを直接配信します。
  • PHP executionが失敗してもPHP sourceを公開してはいけません。
  • upload directoriesでPHP executionを拒否します。
  • untrusted applicationsにはrequest/response byte limitsを使います。
日本語