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完成动态数据交互.
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模块指令:
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文件中定义的参数
3.启动php-fpm.service进行测试:
systemctl start php-fpm.service
在fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;定义的路径下创建一个php测试页info.php文件,内容如下,表示输出php的相关信息:
浏览器输入服务器ip加测试页地址:
证明测试生效.
二、fastcgi缓存相关配置:
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服务器(php-fpm.service)进行交互,完成动态数据处理后将动态数据与静态数据一起响应给客户端.
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Ubuntu更改默认python版本的方法
一般Ubuntu默认的Python版本都为2.x, 如何改变Python的默认版本呢? 1.查看系统中都有哪些 Python 的二进制文件可供使用。 ls /usr/bin/python* /usr/bin/python /usr/bin/python2-config /usr/bin/python2-jsonpointer /usr/bin/python3 /usr/bin/python3.6 /usr/bin/python3.6m-config /usr/bin/python-config /usr/bin/python2-jsondiff /usr/bin/python2.7 /usr/bin/python3.5 /usr/bin/python3.6-config /usr/bin/python3m /usr/bin/python2 /usr/bin/python2-jsonpatch /usr/bin/python2.7-config /usr/bin/python3.5m /usr/bin/python3.6m 2.查看版本 python -V 或 python --vers...
- 下一篇
通俗易懂,JDK 并发容器总结
该文已加入开源项目:JavaGuide(一份涵盖大部分Java程序员所需要掌握的核心知识的文档类项目,Star 数接近 14 k)。地址:https://github.com/Snailclimb/JavaGuide. 一 JDK 提供的并发容器总结 实战Java高并发程序设计》为我们总结了下面几种大家可能会在高并发程序设计中经常遇到和使用的 JDK 为我们提供的并发容器。先带大家概览一下,下面会一一介绍到。 JDK提供的这些容器大部分在 java.util.concurrent 包中。 ConcurrentHashMap: 线程安全的HashMap CopyOnWriteArrayList: 线程安全的List,在读多写少的场合性能非常好,远远好于Vector. ConcurrentLinkedQueue:高效的并发队列,使用链表实现。可以看做一个线程安全的 LinkedList,这是一个非阻塞队列。 BlockingQueue: 这是一个接口,JDK内部通过链表、数组等方式实现了这个接口。表示阻塞队列,非常适合用于作为数据共享的通道。 ConcurrentSkipListMap: ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境