1.nginx下的fpm配置
# 这个指令为FastCGI 缓存指定一个路径,目录结构等级,关键字区域存储时间和非活动删除时间。
fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2 keys_zone=TEST:10minactive=5m;
# 指定连接到后端FastCGI 的超时时间
fastcgi_connect_timeout 300;
# 向FastCGI 传送请求的超时时间,这个值是指已经完成两次握手后向FastCGI 传送请求的超时时间
fastcgi_send_timeout 300;
# 接收FastCGI 应答的超时时间,这个值是指已经完成两次握手后接收FastCGI 应答的超时时间
fastcgi_read_timeout 300;
# 指定读取FastCGI 应答第一部分需要用多大的缓冲区,一般第一部分应答不会超过1k,由于页面大小为4k,所以这里设置为4k
fastcgi_buffer_size 4k;
# 指定本地需要用多少和多大的缓冲区来缓冲FastCGI 的应答
fastcgi_buffers 8 4k;
# 默认值是fastcgi_buffers的两倍
fastcgi_busy_buffers_size 8k;
# 在写入fastcgi_temp_path 时将用多大的数据块,默认值是fastcgi_buffers 的两倍
fastcgi_temp_file_write_size 8k;
# 开启FastCGI 缓存并且为其制定一个名称。可以有效降低CPU负载,并且防止502错误
fastcgi_cache 名称,如,mycache;
# 为指定的应答代码指定缓存时间,如上例中将200,302 应答缓存一小时,301 应答缓存1 天,其他为1 分钟
fastcgi_cache_valid 200 302 1h; fastcgi_cache_valid 301 1d; fastcgi_cache_valid any 1m;
# 缓存在fastcgi_cache_path 指令inactive 参数值时间内的最少使用次数,如上例,如果在5 分钟内某文件1 次也没有被使用,那么这个文件将被移除
fastcgi_cache_min_uses 1;
# 缓存超时错误设置与错误码
fastcgi_cache_use_stale error timeout invalid_header http_500;
2.Php,php-fpm配置
1. [global]
2.
3.pid = run/php-fpm.pid
4.
5.process_control_timeout=5
6.
7.[www]
8.
9.listen.allowed_clients = 127.0.0.1 [允许ip]
10.
11.user=www [用户]
12.
13.group=www [组]
14.
15.pm=dynamic
16.
17.pm.max_children=20(这个配置决定了php-fpm的总进程数,内存小的少设点)
18.
19.pm.max_requests=10000(并发数越大,此请求数应越大)
20.
21.pm.start_servers =10(初始php-fpm进程数)
22.
23.emergency_restart_threshold = 60
24.
25.emergency_restart_interval = 60s
- emergency_restart_threshold = 60
- emergency_restart_interval = 60s
这两个,表示在emergency_restart_interval所设值内出现SIGSEGV或者SIGBUS错误的php-cgi进程数如果超 过 emergency_restart_threshold个,php-fpm就会优雅重启.这两个选项一般保持默认值.