实战Nginx与PHP(FastCGI)的作用、安装、配置与优化
linux通过fastcgi实现nginx、php、mysql的分机

LNMP基于fastcgi实现nginx,php,mysql的分离前言: (3)规划: (3)环境: (3)一.在172.16.1.1编译安装nginx (3)1.先安装pcre-devel,nginx的rewrite功能依赖pcre提供的库。
(3)2.为nginx建立用户,实现安全运行,指定uid的原因是为了与php通过nfs共享时权限方便 (3)3.下载并编译安装nginx (3)4.为nginx提供SysV init脚本 (4)5、为此脚本赋予执行权限: (7)6、添加至服务管理列表,并让其开机自动启动: (7)7、启动服务并测试 (7)二.在172.16.1.3上部署mysql-5.5.28 (7)1.为mysql准备数据目录与用户 (7)2.下载安装mysql,这里采用已经编译好的 (7)3.为mysql提供配置文件 (7)4.为mysql提供sysv init服务脚本: (8)5.输出mysql的man手册至man命令的查找路径: (8)6.输出mysql的头文件至系统头文件路径/usr/include: (8)7.输出mysql的库文件给系统库查找路径: (8)8、修改PATH环境变量,让系统可以直接使用mysql的相关命令。
(8)三.172.16.1.2上编译安装php-5.4.4 (8)1.安装扩展包 (9)2.下载编译安装php-5.4.4 (9)3.为php-fpm提供Sysv init脚本,并将其添加至服务列表: (9)四.整合nginx 与 php (10)1.计划把网页放在/www下,建立该目录,并修改权限 (10)2.编译/etc/nginx/nginx.conf,注释一些选项##编辑前请备份原文件 (10)3.编辑/etc/nginx/fastcgi_params,将其内容更改为如下内容: (10)4.为了以后与nginx共享文件方便建立nginx用户 (11)5.修改php-fpm配置文件/usr/local/php/etc/php-fpm.conf (11)6.下载解压discuz,更改权限 (11)7.启动nfs,编辑配置文件以供nginx挂载 (11)8.在172.16.1.1上挂载172.16.1.2的/www (11)9.安装discuz 浏览器运行172.16.1.1/install,根据提示修改Php.ini的一个选项 (12)10.在172.16.1.3上为discuz建立数据 (12)前言:平时安装LNMP是把它们安装到同一台机器上,我想这个对大家来说丝毫没有挑战,下面我们实现把他们剥离到不同的机器上,让各个服务器直接分担原来的压力,也可以增加节点实现负载均衡,如:多增加一台php,让两台机器轮询的编译php,也可以在增加一台nginx,实现dns的轮询负载均衡。
nginx性能分析和全面调优

nginx性能分析和全⾯调优Nginx全能解析及性能调优nginx 是⼀个轻量级的、基于http的、⾼性能的反向代理的服务器和静态web服务器。
正向代理和反向代理不管是正向代理还是反向代理都是基于客户端来说的。
正向代理特点正向代理是对客户端的代理正向代理是架设在客户端的主机客户端在使⽤正向代理服务器时是要知道访问的⽬标服务的地址案例隐藏真正的访问者向服务端隐藏真正的访问者。
对于服务端来说,真正的访问者时代理服务器。
起到了隐藏客户端的作⽤。
例如:实际⽣活中的短信轰炸,你根本不知道是谁给你发的短信;ddos攻击也是这个原理,使⽤很多‘⾁鸡’机器来攻击我们的服务器,我们⽆法查找真正的攻击源。
FQ由于很多复杂的原因,导致服务器A不能直接访问服务器B,但是服务器C可以访问服务器B,⽽服务器A⼜可以访问服务器C;这时,服务器C作为服务起A的代理服务器对B进⾏访问。
⽬前的FQ软件就是使⽤这个原理。
提速同上原理⼀样,服务器A访问服务器B速度过慢,⽽服务器C访问服务器B很快,服务器A访问服务器C很快。
则使⽤代理服务器提⾼效率。
缓存增加客户端缓存,减少对服务器的请求资源的压⼒。
例如maven的nexus就是⼀个典型的客户端缓存例⼦。
授权例如,在公司中,需要对员⼯电脑进⾏外⽹监控授权,则也是使⽤这种客户端正向代理服务器。
反向代理特点反向代理是对服务端的代理反向代理是架设在服务端的主机客户端端访问的时候不知道真正服务主机的地址案例保护隐藏真正的服务客户端只能访问服务端代理服务器,⽽真正的服务端是不能直接访问的,保护了服务端。
分布式路由根据客户端不同的请求,将请求路由到不同的服务端去。
负载均衡服务端均摊客户端的请求,保证服务端的⾼可⽤。
动静分离例如图⽚、静态页⾯、css、js等,都为静态资源,将其放到对应⽬录下,客户端加载静态资源时,就不会请求到服务端,⽽只会将动态资源的请求发送到服务端,减轻服务端的压⼒。
数据缓存反向代理同正向代理⼀样具有数据缓存的功能,都是为了减少服务端的压⼒。
FastCGI 进程管理器 (FPM)安装与配置

FastCGI 进程管理器(FPM)安装与配置‘FPM (FastCGI 进程管理器) 用于替换PHP FastCGI的大部分附加功能,对于高负载网站是非常有用的。
它的功能包括:∙支持平滑停止/启动的高级进程管理功能;∙可以工作于不同的uid/gid/chroot环境下,并监听不同的端口和使用不同的php.ini配置文件(可取代safe_mode的设置);∙stdout 和 stderr 日志记录;∙在发生意外情况的时候能够重新启动并缓存被破坏的opcode;∙文件上传优化支持;∙"慢日志" - 记录脚本 (不仅记录文件名,还记录PHP backtrace信息,可以使用ptrace或者类似工具读取和分析远程进程的运行数据) 运行所导致的异常缓慢;∙fastcgi_finish_request()- 特殊功能:用于在请求完成和刷新数据后,继续在后台执行耗时的工作 (录入视频转换、统计处理等);∙动态/静态子进程产生;∙基本SAPI运行状态信息 (类似Apache的 mod_status);∙基于php.ini的配置文件.安装需求FPM使用libevent来管理链接和进程信号. 至少需要安装libevent-1.4.11或者以上版本.从源代码编译编译PHP时需要--enable-fpm配置选项来激活FPM支持以下为FPM编译的具体配置参数(全部为可选参数):∙--with-libevent-dir - 指定libevent的安装路径∙--with-fpm-user - 设置 FPM 运行的用户身份 (默认 - nobody).∙--with-fpm-group - 设置 FPM 运行时的用户组 (默认 - nobody).文档原创稿件由站长提供,下载使用请保留署名。
运行时配置FPM 配置文件为php-fpm.conf,其语法类似php.ini。
php-fpm.conf全局配置段pid stringPID文件的位置. 默认为空.error_log string错误日志的位置. 默认:安装路径#INSTALL_PREFIX#/log/php-fpm.log. log_level string错误级别. 可用级别为: alert(必须立即处理), error(错误情况),warning(警告情况), notice(一般重要信息), debug(调试信息). 默认: notice.emergency_restart_threshold int如果子进程在emergency_restart_interval设定的时间内收到该参数设定次数的SIGSEGV 或者 SIGBUS退出信息号,则FPM会重新启动。
如何使用Nginx搭建高性能的Web服务器的详细教程

如何使用Nginx搭建高性能的Web服务器的详细教程Nginx作为一款高性能的Web服务器,被广泛应用于互联网领域。
本文将详细介绍如何使用Nginx搭建高性能的Web服务器,并提供相应的教程。
一、Nginx的安装与配置1. 环境准备:确保服务器已安装好操作系统和必要的软件。
2. 下载Nginx:访问Nginx官方网站并下载最新稳定版本的Nginx 软件包。
3. 安装Nginx:解压下载的软件包,并按照官方文档进行安装。
安装完成后,验证Nginx是否成功安装。
二、Nginx的基本配置1. 修改配置文件:打开Nginx的配置文件,根据实际需求修改相关配置,包括监听端口、日志路径、反向代理设置等。
2. 配置虚拟主机:根据需要配置虚拟主机,实现多个域名的访问,提高服务器的灵活性。
3. 配置SSL证书:如需使用HTTPS协议进行安全传输,需要生成或购买SSL证书,并在配置文件中配置相关参数。
三、Nginx的高性能优化1. 调整工作进程数:根据服务器的硬件配置和负载情况,适当调整Nginx的工作进程数,以提高并发处理能力。
2. 使用缓存:配置Nginx的缓存机制,将频繁访问的静态资源缓存在内存中,以减轻后端服务器的压力,并提升响应速度。
3. 开启Gzip压缩:启用Gzip压缩功能,有效减少传输的数据量,提高页面加载速度,降低带宽消耗。
四、Nginx的安全配置1. 防止恶意请求:配置反爬虫策略和限制频繁请求的规则,保护网站免受恶意攻击。
2. 配置防火墙:部署防火墙,限制非法IP的访问,增强服务器的安全性。
3. 安装安全模块:根据需求选择合适的Nginx安全模块,增加服务器的安全防护能力,如ModSecurity等。
五、Nginx的监控与日志1. 监控工具:选择适合的监控工具,如Zabbix、Nagios等,对Nginx服务器的性能和状态进行实时监控。
2. 日志管理:配置Nginx的日志输出格式和日志切割机制,以便于日后的故障排查和性能优化分析。
Nginx与PHP(FastCGI)的安装、配置与优化

Nginx与PHP(FastCGI)的安装、配置与优化FastCGI的介绍和工作原理首先简单的介绍下FastCGI:FastCGI是语言无关的、可伸缩结构的CGI开放扩展,其主要行为是将CGI解释器进行保持在内存中并因此获得较高的性能。
众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail-Over特性等。
FastCGI的工作原理是:(1)FastCGI进程管理器自身初始化,启动多个CGI解释器进程(多个php-cgi进程)并等待来自Web Server的连接。
在文本中,采用PHP-FPM进程管理器启动多个php-cgi FastCGI进程。
启动php-cgi FastCGI进程时,可以配置以TCP和UNIX套接字两种方式启动。
(2)当客户端请求达到Web服务器(Nginx)时,Web服务器将请求采用TCP协议或UNIX 套接字方式转发到FastCGI主进程,FastCGI主进程选择并连接到一个CGI解释器(子进程)。
Web服务器将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。
(3)FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web服务器(Nginx)。
当FastCGI子进程关闭连接时,请求便告知处理完成。
FastCGI子进程接着等待并处理来自FastCGI进程管理的下一个连接。
而在一般的普通CGI模式中,php-cgi在此便退出了。
PHP-FPMPHP-FPM是一个PHP FastCGI管理器,是只用于PHP的,可以在/downloads.php下载得到.PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。
必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。
新版PHP已经集成php-fpm了,不再是第三方的包了,推荐使用。
Windows下Nginx+PHP5(FastCgi),memcache安装配置详解

Nginx作为一款支持PHP的轻量级WEB服务器,在PHP网站建设中收到越来越多的应用,最近在Windows平台上安装配置了Nginx+PHP5的运行环境,非常方便,现详细介绍下Windows下Nginx 配置PHP5的基础教程,Nginx配置PHP是以FastCgi方式配置的。
下载NginxNginx可以在多种操作系统上安装配置,我使用的是Windows,所以需要下载Nginx Windows版本,点击下载Nginx。
我下载的是nginx/Windows-0.8.53版本。
安装Nginx下载完Nginx后,需要在Windows中安装Nginx,Nginx Windows版本的安装非常方便,只要解压缩后,将文件拷贝到C盘根目录下即可,我的Nginx安装目录为C:\nginx-0.8.53。
安装配置PHP我使用的是PHP5.2,你可以可以使用PHP5.3,只要PHP版本支持FastCgi方式(有php-cgi.exe)即可,PHP安装配置教程推荐参考:Windows7 IIS7下以FastCgi和ISAPI方法安装配置PHP5教程配置Nginx支持运行PHP首先需要打开C:\nginx-0.8.53,找到C:\nginx-0.8.53\conf目录下的nginx.conf,以记事本打开,配置Nginx支持PHP第一步设定error.log的存放目录,将#error_log logs/error.log;的#去处,默认error.log是存放在Nginx安装目录中logs目录下。
配置Nginx支持PHP第二步设定WEB服务器目录,类似于PHP.INI配置文件中的document_root,Nginx配置文件中的原有信息如下修改Nginx配置如下这里需要注意,路径分隔符请使用”/”而不要使用Windows中的”\”以防歧义。
配置Nginx支持PHP第三步在Nginx配置文件中找到1 2 3 4 5 6 7 8 9 10 11 1213#location ~ \.php$ {# root html;# fastcgi_pass 127.0.0.1:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name ; # include fastcgi_params;#} 去处#并添加WEB 目录,即 1 2 3 4 5 6 7 8 9 10 11 1213 location ~ \.php$ {root D:/PHPWeb;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME D:/PHPWeb$fastcgi_script_name;include fastcgi_params;}这里需要注意,需要将中的/scripts 修改为之前设定的WEB 目录,否则会报HTTP 404错误。
Nginx+php配置文件及原理解析

Nginx+php配置⽂件及原理解析采⽤nginx+PHP作为webserver的架构模式,在现如今运⽤相当⼴泛。
然⽽第⼀步需要实现的是如何让nginx正确的调⽤php。
由于nginx调⽤php并不是如同调⽤⼀个静态⽂件那么直接简单,是需要动态执⾏php脚本。
所以涉及到了对nginx.conf⽂件的配置。
这⼀步对新⼿⽽⾔⼀般需要⽹上查资料,对于⼀般的熟⼿⽽⾔,也有不少同学并没有搞透彻为何要如此这般配置。
本⽂的主要内容为如何在nginx server中正确配置php调⽤⽅法,以及配置的基本原理。
⼀、nginx+php运⾏原理:⾸先简单的讲⼀讲原理,⽬前主流的nginx+php的运⾏原理如下:1、nginx的worker进程直接管理每⼀个请求到nginx的⽹络请求。
2、对于php⽽⾔,由于在整个⽹络请求的过程中php是⼀个cgi程序的⾓⾊,所以采⽤名为php-fpm的进程管理程序来对这些被请求的php程序进⾏管理。
php-fpm程序也如同nginx⼀样,需要监听端⼝,并且有master和worker进程。
worker进程直接管理每⼀个php进程。
3、关于fastcgi:fastcgi是⼀种进程管理器,管理cgi进程。
市⾯上有多种实现了fastcgi功能的进程管理器,php-fpm就是其中的⼀种。
再提⼀点,php-fpm作为⼀种fast-cgi进程管理服务,会监听端⼝,⼀般默认监听9000端⼝,并且是监听本机,也就是只接收来⾃本机的端⼝请求,所以我们通常输⼊命令 netstat -nlpt|grep php-fpm 会得到:tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1057/php-fpm这⾥的127.0.0.1:9000 就是监听本机9000端⼝的意思。
4、关于fastcgi的配置⽂件,⽬前fastcgi的配置⽂件⼀般放在nginx.conf同级⽬录下,配置⽂件形式,⼀般有两种:fastcgi.conf 和 fastcgi_params。
fastcgi代理的使用示例 -回复

fastcgi代理的使用示例-回复FastCGI(Fast Common Gateway Interface)是一种用于提供Web服务器与应用程序之间通信的协议。
它的主要目标是提高Web应用程序的性能和安全性。
FastCGI代理是将FastCGI通信引入代理服务器的一种方式,使得应用程序不直接与Web服务器通信,而是通过代理服务器来完成通信,从而提供更灵活的部署和管理方式。
下面将逐步介绍FastCGI代理的使用示例。
第一步:安装和配置FastCGI代理服务器1. 在代理服务器上安装FastCGI模块,比如Nginx、Apache等。
2. 在代理服务器的配置文件中开启FastCGI支持,并配置FastCGI的监听地址和端口号。
第二步:部署应用程序1. 在应用程序所在的服务器上安装相应的Web服务器,比如Nginx、Apache等。
2. 将应用程序部署到Web服务器上,并配置好应用程序的FastCGI监听地址和端口号。
第三步:配置代理服务器1. 在代理服务器的配置文件中,添加代理规则,指定要代理的域名和对应的应用程序的FastCGI监听地址和端口号。
2. 配置代理服务器的负载均衡策略,例如轮询、IP散列等,以提高性能和可用性。
3. 配置代理服务器的缓存策略,以减轻后端应用程序的压力。
第四步:测试代理服务器1. 启动代理服务器和应用程序服务器。
2. 在浏览器中输入代理服务器绑定的域名或IP地址,访问代理服务器。
3. 检查代理服务器是否成功地将请求转发给应用程序服务器,并将应用程序服务器的响应返回给客户端。
第五步:监控和调优1. 使用监控工具,如Zabbix、Grafana等,监控代理服务器和应用程序服务器的性能指标,如CPU使用率、内存使用率等。
2. 根据监控数据分析性能瓶颈,优化代理服务器和应用程序服务器的配置,比如调整线程数、连接数等参数。
3. 分析代理服务器的日志文件,查找异常请求和错误信息,进行问题排查和故障修复。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实战Nginx与PHP(FastCGI)的作用、安装、配置与优化一、什么是 FastCGIFastCGI是一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口。
多数流行的HTTP server都支持FastCGI,包括Apache、Nginx和lighttpd等,同时,FastCGI也被许多脚本语言所支持,其中就有PHP。
FastCGI是从CGI发展改进而来的。
传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执行解析,然后结果被返回给HTTP服务器。
这在处理高并发访问时,几乎是不可用的。
另外传统的CGI接口方式安全性也很差,现在已经很少被使用了。
FastCGI接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程。
当HTTP服务器每次遇到动态程序时,可以将其直接交付给FastCGI进程来执行,然后将得到的结果返回给浏览器。
这种方式可以让HTTP服务器专一地处理静态请求或者将动态脚本服务器的结果返回给客户端,这在很大程度上提高了整个应用系统的性能。
二、Nginx+FastCGI运行原理Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。
FastCGI接口在Linux下是socket,(这个socket可以是文件socket,也可以是ip socket)。
为了调用CGI程序,还需要一个FastCGI的wrapper (wrapper可以理解为用于启动另一个程序的程序),这个wrapper绑定在某个固定socket上,如端口或者文件socket。
当Nginx将CGI请求发送给这个socket的时候,通过FastCGI接口,wrapper接纳到请求,然后派生出一个新的线程,这个线程调用解释器或者外部程序处理脚本并读取返回数据;接着,wrapper再将返回的数据通过FastCGI接口,沿着固定的socket传递给Nginx;最后,Nginx将返回的数据发送给客户端,这就是Nginx+FastCGI的整个运作过程。
详细的过程,如图1所示。
图1 Nginx+FastCGI运行原理三、spawn-fcgi与PHP-FPM前面介绍过,FastCGI接口方式在脚本解析服务器上启动一个或者多个守护进程对动态脚本进行解析,这些进程就是FastCGI进程管理器,或者称之为FastCGI引擎,spawn-fcgi与PHP-FPM就是支持PHP的两个FastCGI进程管理器。
下面简单介绍spawn-fcgi与PHP-FPM的异同。
spawn-fcgi是HTTP服务器lighttpd的一部分,目前已经独立成为一个项目,一般与lighttpd配合使用来支持PHP,但是ligttpd的spwan-fcgi在高并发访问的时候,会出现内存泄漏甚至自动重启FastCGI的问题。
Nginx是个轻量级的HTTP server,必须借助第三方的FastCGI处理器才可以对PHP 进行解析,因此Nginx+spawn-fcgi的组合也可以实现对PHP的解析,这里不过多讲述。
PHP-FPM也是一个第三方的FastCGI进程管理器,它是作为PHP的一个补丁来开发的,在安装的时候也需要和PHP源码一起编译,也就是说PHP-FPM被编译到PHP内核中,因此在处理性能方面更加优秀;同时它在处理高并发方面也比spawn-fcgi引擎好很多,因此,推荐Nginx+PHP/PHP-FPM这个组合对PHP进行解析。
FastCGI 的主要优点是把动态语言和HTTP Server分离开来,所以Nginx与PHP/PHP-FPM经常被部署在不同的服务器上,以分担前端Nginx服务器的压力,使Nginx 专一处理静态请求和转发动态请求,而PHP/PHP-FPM服务器专一解析PHP动态请求。
四、 PHP与PHP-FPM的安装及优化1.下载安装包从官方网站下载PHP源码包,这里下载的是稳定版php-5.2.13.tar.gz。
从/downloads/下载对应的PHP-FPM源码包,这里下载的是php-5.2.13-fpm-0.5.13.diff.gz。
需要注意,在下载软件包版本时,尽量使PHP和PHP-FPM版本一致,如果版本之间相差太大,可以会出现兼容问题。
2.配置安装环境安装PHP需要下面软件包的支持,如果没有安装,请自行安装。
gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel由于各个Linux系统版本的不确定性,读者也可以在安装PHP过程中,根据错误提示信息,安装对应的软件库。
3.开始编译安装PHP和PHP-FPM编译安装PHP和PHP-FPM很简单,下面是安装过程:[root@localhost local]#tar zxvf php-5.2.13.tar.gz[root@localhost local]#gzip -cd php-5.2.13-fpm-0.5.13.diff.gz | patch -d php-5.2.13 -p1[root@localhost local]#cd php-5.2.13[root@localhost php-5.2.13]#./configure --prefix=/usr/local/php --enable-fastcgi --enable-fpm[root@localhost php-5.2.13]#make[root@localhost php-5.2.13]#make install[root@localhost php-5.2.13]cp php.ini-dist /usr/local/php/lib/php.ini其中,第二步将PHP-FPM作为补丁加入PHP源码中。
在“./configure”编译选项中,指定将PHP安装到/usr/local下,“--enable-fastcgi”是启用对PHP的FastCGI支持,“--enable-fpm”是激活对FastCGI模式的fpm支持。
在编译PHP时可以加入很多编译选项,但是这里为了介绍PHP的FastCGI功能没有加入更多的编译选项。
4.配置与优化PHP-FPMPHP的全局配置文件是php.ini,在上面的步骤中,已经将此文件复制到了/usr/local/php/lib/php.ini下。
可以根据每个应用需求的不同,对php.ini进行相应的配置。
下面重点介绍PHP-FPM引擎的配置文件。
根据上面指定的安装路径,PHP-FPM的默认配置文件为/usr/local/php/etc/php-fpm.conf。
php-fpm.conf是一个XML格式的纯文本文件,其内容很容易看明白。
这里重点介绍几个重要的配置标签:标签listen_address是配置fastcgi进程监听的IP地址以及端口,默认是127.0.0.1:9000。
<value name="listen_address">127.0.0.1:9000</value>标签display_errors用来设置是否显示PHP错误信息,默认是0,不显示错误信息,设置为1可以显示PHP错误信息。
<value name="display_errors">0</value>标签user和group用于设置运行FastCGI进程的用户和用户组。
需要注意的是,这里指定的用户和用户组要和Nginx配置文件中指定的用户和用户组一致。
<value name="user">nobody</value><value name="group">nobody</value>标签max_children用于设置FastCGI的进程数。
根据官方建议,小于2GB内存的服务器,可以只开启64个进程,4GB以上内存的服务器可以开启200个进程。
<value name="max_children">5</value>标签request_terminate_timeout用于设置FastCGI执行脚本的时间。
默认是0s,也就是无限执行下去,可以根据情况对其进行修改。
<value name="request_terminate_timeout">0s</value>标签rlimit_files用于设置PHP-FPM对打开文件描述符的限制,默认值为1024。
这个标签的值必须和Linux内核打开文件数关联起来,例如要将此值设置为65535,就必须在Linux命令行执行'ulimit -HSn 65536'。
<value name="rlimit_files">1024</value>标签max_requests指明了每个children最多处理多少个请求后便会被关闭,默认的设置是500。
<value name="max_requests">500</value>标签allowed_clients用于设置允许访问FastCGI进程解析器的IP地址。
如果不在这里指定IP地址,Nginx转发过来的PHP解析请求将无法被接受。
<value name="allowed_clients">127.0.0.1</value>5.管理FastCGI进程在配置完php-fpm后,就可以启动FastCGI进程了。
启动fastcgi进程有两种方式:/usr/local/php/bin/php-cgi --fpm或者/usr/local/php/sbin/php-fpm start建议采用第二种方式启动FastCGI进程。
/usr/local/php/sbin/php-fpm还有其他参数,具体为start|stop|quit|restart|reload|logrotate。
每个启动参数的含义如下:θ start,启动PHP的FastCGI进程。
θ stop,强制终止PHP的FastCGI进程。