Intro
情境:想要某個Site的PHP-FPM改變執行使用者(例如Webhook trigger特殊程式)
設定方式
概念上,一個pool sock擁有一組設定,包含執行使用者(user)或群組(group),所以可以利用開立多個pool sock來提供給Web server多種PHP-FPM Conf達到應用。
1. 開立新的pool
PHP-FPM Pool設定複製原始www.conf
出新的自定義設定檔,將listen sock自定義改掉,讓var/run/php
下自動產生新定義的socket,例如/etc/php/7.0/fpm/pool.d/deployer.conf
:
; pool name ('www' here)
[deployer]
user = deployer
group = www-data
listen = /run/php/php7.0-fpm_deployer.sock
設定完後restart PHP-FPM即會自動生成對應的新Sock
2. 提供新的Socket給Web server site
以Nginx為例,換上新的Socket:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm_deployer.sock;
}