php-fpm设置进程池

2017-01-17 14:49:05

php-fpm设置进程池

 

 

设置多个进程池,每个进程池分配不同的站点,可以做到一个站占用资源过多导致其它站也不能访问的尴尬情况。这使得网站可以更好的运行,如果某个站点受到少量CC攻击,也不至于拖跨所有的站点

第一步增加站点用户:

Shell

1

useradd fourfire -M -n -s /sbin/nologin -g www

-M:不生成家目录,因为我们不需要此用户登录

-s:预设bash,默认是 /bin/bash,由于我们不需要此用户登录所以直接使用/sbin/nologin

-n取消建立以用户名称为名的群组

-g指定用户所属的群组

第二步在php-fpm文件中增加用户进程池:

1

2

3

4

5

6

7

8

9

10

11

12

13

[fourfire]

user=fourefire

group=www

listen=/tmp/fourfire.sock

pm=dynamic

;当pm=dynamic,pm.max_children不使用,但是值也一定要存在

;当pm=static,只使用pm.max_children

pm.max_children=10

pm.start_servers=2

pm.min_spare_servers=1

pm.max_spare_servers=10

pm.process_idle_timeout=15

pm.max_requests=500

第三步在nginx中修改 fastcgi_pass 为 unix 域协议

Shell

1

fastcgi_pass unix:/tmp/fourfire.sock;

最后一步:

用 ./php-fpm -t 配置通过就直接重启 service php-fpm restart,你的重启方式可能与我的不同

用./nginx -t 测试配置是否通过,若通过直接重启./nginx -s reload

将网站目录设置权限:0755 即:drwxr-xr-x。使只有fourfire这个用户可以写入

注意:重启的顺序不能颠倒,要先重启php-fpm生成/tmp/fourfire.sock后,./nginx -t 才会测试ok

 

发表评论:

Powered by PHP 学习者(mail:517730729@qq.com)

原百度博客:http://hi.baidu.com/ssfnadn

备案号:闽ICP备17000564号-1

开源中国 PHPCHINA