PHP-FPM
PHP app 使用 PHP-FPM;Fluxheim 負責提供 static assets,並安全噉轉發 PHP request。
外部 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 pools 之間做簡單 safe-method failover。 |
managed | 由 Fluxheim 啟動同監管一個私有 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 安全ty controls
- 將 PHP 檔案保存在配置的根目錄中。
- 盡可能直接提供靜態資產。
- 當 PHP 執行失敗時,切勿暴露 PHP 原始碼。
- 拒絕在上傳目錄中執行 PHP。
- 對唔可信嘅應用程式設定 request 同 response byte 上限。