PHP-FPM
Fluxheim이 정적 asset을 제공하고 PHP request를 안전하게 forward하는 동안 PHP app에는 PHP-FPM을 사용하세요.
외부 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 선택
| mode | 사용할 때 |
|---|---|
socket | Fluxheim과 PHP-FPM이 같은 host에서 실행됩니다. |
tcp | PHP-FPM runs in another container or host. |
tcp_upstreams | PHP-FPM pool 사이에서 simple safe-method failover가 필요합니다. |
managed | Fluxheim이 private PHP-FPM master를 시작하고 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 control
- PHP 파일은 설정된 root 안에 유지하세요.
- 가능하면 static asset을 직접 제공하세요.
- PHP 실행이 실패해도 PHP source가 노출되면 안 됩니다.
- upload directory에서 PHP 실행을 거부하세요.
- 신뢰할 수 없는 application에는 request 및 response byte limit을 사용하세요.