[置顶] Nginx+PHP-FPM详解
2018-02-25 10:51
176 查看
Nginx+PHP-FPM详解
什么是php-fpm?
PHP- FPM是为PHP内核编写的补丁,用来根据需要处理FastCGI进程的启动,停止以及重启。这是非常关键的功能,因为nginx只能通过FastCGI 实现同PHP的接口。nginx不能像Apache那样把所有的PHP环境加载到自身。通俗点说,php-fpm就是php和nginx通信的桥梁!Nginx的优点
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 服务器。Nginx可以做反向代理服务器
较低的内存占用率(因为nginx单独运行时不用加载整个PHP环境)。
轻松地管理用户权限( 因为PHP可以在你的服务器进程中管理不同的用户)。
当PHP崩溃时,nginx可以照常运行
抗高并发,nginx 处理请求是异步非阻塞的
Nginx静态处理能力是Apache的3倍以上
PHP-FPM
php-fpm 全称: php-fastcgi process manager(PHP的fastCGI管理器)php-fpm是fastcgi的实现,并提供了进程管理功能。进程包含了master和worker两种进程。
Nginx使用这些php-fpm进程来和PHP进行通信,你可以理解把php-fpm理解为php解释器。
和传统的php-cgi的解释器不同,php-fpm实现了fastCGI协议,而且还新增了不少特性。比如php-fpm能够平滑重启php环境配置:我们知道在修改了php.ini之后,wamp和phpstudy需要重启服务器才能重新加载php.ini里的内容。如果是php-fpm,则不用重启web服务器,原先正在工作的php-fpm继续工作,等原先工作的php-fpm完成自己的工作后,就结束掉自己。新增加的php-fpm就使用修改后的php.ini即可
总结
php-fpm实现了fastcgi的管理器。常驻内存,负责管理各个php-cgi进程。可以提升运行效率,实现平滑重启。master进程只有一个,负责监听端口,接收webserver请求;然而worker进程有多个,每个进程都嵌入了php解释器,是php代码真正执行的地方。php-fpm默认9000端口
php-fpm相关的命令
sudo nginx -s reload
sudo php-fpm
ps -ef | grep fpm
相关文章推荐
- [置顶] 如何正确配置 Nginx+PHP
- nginx+php 的配制
- windows下配置nginx+php环境
- CentOS 6.5 yum安装配置lnmp服务器(Nginx+PHP+MySQL)
- nginx+php-fpm访问报错,显示access denied
- nginx+php-fpm配置后页面显示空白的解决方法
- 5.nginx学习笔记:nginx+php
- Windows下配置nginx+php(wnmp)
- ubuntu16下安装Nginx+php+phpMyAdmin全纪录!
- Linux(Centos6.5)+Nginx+PHP-fpm+Mysql配置
- [置顶] 色色整理的PHP面试题,能答对找7/8k应该不成问题
- win7下搭建nginx+php的开发环境
- nginx+php(fastcgi)的安装和配置
- CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)
- 如何正确配置Nginx+PHP
- [置顶] PHP异常处理
- [置顶] php高效率写法
- windows下配置nginx+php环境
- Ubuntu 9.04 APT-GET 安装nginx+php+mysql