PHP-FPM
PHPアプリにはPHP-FPMを使い、Fluxheimが静的アセットを配信し、PHPリクエストを安全に転送します。
外部PHP-FPMプール
[vhosts.php]
enabled = true
root = "/srv/app/public"
index = "index.php"
[vhosts.php.fpm]
mode = "external"
socket = "/run/php-fpm/app.sock"
エンドポイント選択
| モード | 使う場面 |
|---|---|
socket | FluxheimとPHP-FPMが同じホストで動く場合。 |
tcp | PHP-FPM runs in another container or host. |
tcp_upstreams | PHP-FPMプール間で単純な安全メソッドfailoverが必要な場合。 |
managed | Fluxheimが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. Use it when you want Fluxheim to own the socket and generated pool files.
PHP安全制御設定
- PHPファイルは設定されたルートの内側に置きます。
- 可能な場合は静的アセットを直接配信します。
- PHP実行が失敗してもPHPソースを公開してはいけません。
- upload directoriesでPHP executionを拒否します。
- 信頼できないアプリケーションにはリクエスト/レスポンスのバイト上限を使います。