天天看点

nginx的fastcgi模块配置与php-fpm配置记录

一、安装fastcgi模块

1、yum install php-fpm,php-mysql,php-mbstring,php-gd,php-xml

php-fpm:PHP FastCGI Process Manager,基于fastcgi协议的php进程管理器。nginx可通过该程序与php完成动态数据交互.

nginx的fastcgi模块配置与php-fpm配置记录

php-fpm的工作方式类似于httpd的prefork模型

/etc/php-fpm.d/www.conf文件为php-fpm的主配置文件,主要配置项有:

listen = 127.0.0.1:9000 ##监听地址

listen.allowed_clients = 127.0.0.1 ###允许交互的客户端ip

user = apache

group = apache

pm = dynamic ###使用动态方法

pm.max_children = 50 ###一次请求允许的最多资源数

pm.start_servers = 5 ###刚开始时启动的进程

pm.min_spare_servers = 5 ###最少空闲进程数

pm.max_spare_servers = 35 ###最大空闲进程数

2、nginx的fastcgi模块指令:

nginx的fastcgi模块配置与php-fpm配置记录

fastcgi_pass 127.0.0.1:9000; ###是fpm服务监听的地址和端口

fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; ####指明当前fpm服务的root路径.如,请求

http://localhost/index.php

就会对应这个选项中定义的/usr/local/nginx/html/index.php文件路径

include fastcgi_params;####表示还包括fastcgi_params文件中定义的参数

nginx的fastcgi模块配置与php-fpm配置记录

3.启动php-fpm.service进行测试:

systemctl start php-fpm.service

在fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;定义的路径下创建一个php测试页info.php文件,内容如下,表示输出php的相关信息:

nginx的fastcgi模块配置与php-fpm配置记录
浏览器输入服务器ip加测试页地址:
nginx的fastcgi模块配置与php-fpm配置记录

证明测试生效.

二、fastcgi缓存相关配置:

nginx的fastcgi模块配置与php-fpm配置记录

1、fastcgi_cache_path /var/cache/nginx/fastcgi levels=1:2 keys_zone=fcgicache:10m;####指明fastcgi的缓存文件路径,levels表示nginx的缓存机制创建一级目录与二级目录,keys_zone指明缓存键的区域名称及有效性时间为10分钟;

2、fastcgi_cache_valid 200 302 10m;

fastcgi_cache_valid 301 1h;
fastcgi_cache_valid any 1m;#####定义各http响应状态码及其缓存有效时间           

3、 fastcgi_cache_key $request_uri;###表示使用http请求的uri缓存后作为缓存键

4、fastcgi_cache fcgicache;####指明使用的fastcgi缓存的空间名

要使用缓存时,至少要配置好三个参数:

fastcgi_cache

fastcgi_cache_key

fastcgi_cache_valid

配置好fastcgi缓存后,可使用压力测试命令对缓存进行测试:

ab -c 10 -n 100

http:/ip/info.php

nginx的fastcgi模块配置与php-fpm配置记录

测试可得出缓存能加速一定的响应时间。

nginx通过fastcgi模块与后端的php服务器(php-fpm.service)进行交互,完成动态数据处理后将动态数据与静态数据一起响应给客户端.

继续阅读