不推荐这种方式!一个.sock文件就够了
php-fpm 配置文件生成
file_exists('php-fpm-conf/prod') or mkdir('php-fpm-conf/prod', 0777, true);
file_exists('php-fpm-conf/test') or mkdir('php-fpm-conf/test', 0777, true);
for ($i = 1; $i <= 10; $i ++) {
$ii = "0000$i";
$ii = substr($ii, strlen($ii) - 2);
$name = "/var/run/php-cgi-{$ii}.sock";
$proConf = <<<TAG
[www_sockets_{$ii}]
user = nobody
group = nobody
listen = {$name}
listen.backlog = 1024
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
pm = dynamic
pm.max_children = 256
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 10
pm.process_idle_timeout = 10s
pm.max_requests = 102400
slowlog = /var/log/php-fpm/\$pool.log.slow
request_slowlog_timeout = 5
rlimit_files = 102400
TAG;
file_put_contents("php-fpm-conf/prod/www_sockets_{$ii}.conf", $proConf);
$devConf = <<<TAG
{$proConf}
env[ENVIRONMENT] = development
TAG;
file_put_contents("php-fpm-conf/test/www_sockets_{$ii}.conf", $devConf);
echo " server unix:{$name} weight=5;\n";
}
nginx配置
...
upstream phpbackend {
server unix:/var/run/php-cgi-01.sock weight=5;
server unix:/var/run/php-cgi-02.sock weight=5;
server unix:/var/run/php-cgi-03.sock weight=5;
server unix:/var/run/php-cgi-04.sock weight=5;
server unix:/var/run/php-cgi-05.sock weight=5;
server unix:/var/run/php-cgi-06.sock weight=5;
server unix:/var/run/php-cgi-07.sock weight=5;
server unix:/var/run/php-cgi-08.sock weight=5;
server unix:/var/run/php-cgi-09.sock weight=5 backup;
server unix:/var/run/php-cgi-10.sock weight=5 backup;
}
...
location ~.*.php($|/){
...
fastcgi_pass phpbackend;
....
}
...