fastcgi安装
fastcgi在服务器上会启动多个进程进行解析,这个时候就需要一个fastcgi的管理器,管理哪个子进程可以结束,哪个进行应该开启了。
fastcgi的进程管理器有两种,spawn-fcgi和php-fpm。其中的spawn-fcgi一般是和lighttp配合使用的。而php-fpm一般会配合nginx来使用。
下载php和php-fpm源码包php下载地址:http://php.net/downloads.php
php-fpm下载地址:http://php-fpm.org/downloads/
在下载php-fpm的时候,需要尽量使php版本和php-fpm版本一致或者版本差别最小,否则有可能会出现兼容性的问题。
配置安装环境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编译安装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的配置文件存放在 /usr/local/php/lib/php.ini中。
而php-fpm的配置文件存放在 /usr/local/php/etc/php-fpm.conf中
其中的几项配置需要注意:
标签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个进程。也可以根据服务的内存数来估计需要开启多少fastcgi进程数。大概一个fastcgi进程占20M的内存。
value name="max_children" 5 /value
标签request_terminate_timeout用于设置FastCGI执行脚本的时间。默认是0s,也就是无限执行下去,这个参数设置好了可以用于保证不会有执行时间过长的php阻塞住fastcgi进程。
value name="request_terminate_timeout" s /value
标签rlimit_files用于设置PHP-FPM对打开文件描述符的限制,默认值为1024。这个标签的值必须和Linux内核打开文件数关联起来,例如要将此值设置为65535,就必须在Linux命令行执行ulimit -HSn 65536。
value name="rlimit_files" 1024 /value
标签max_requests指明了每个children最多处理多少个请求后便会被关闭,默认的设置是500。
为什么会需要这个参数设置呢?php和fastcgi都是C写的,一些php模块什么的有可能实际上存在着内存泄露等问题,所以一般php作为守护进程一直执行是不大可取的行为。既然php有可能有内存泄露的问题,那么如果fastcgi进程一直执行着,那么就有可能导致机器的内存出现吃爆的现象。所以在执行一段时间之后,我们是希望fastcgi能自动重启动。这个参数就是做这个用的。
value name="max_requests" 500 /value
标签allowed_clients用于设置允许访问FastCGI进程解析器的IP地址。如果不在这里指定IP地址,Nginx转发过来的PHP解析请求将无法被接受。
value name="allowed_clients" 127.0.0.1 /value启动php-fpm
/usr/local/php/sbin/php-fpm start
nginx、fastcgi、php-fpm 什么是fastcgi? fastCGI是由CGI(common gateway interface,通用网关接口)发展而来,是http服务器(nginx、apache)和动态脚本语言(php)之间的通信接口。记住,fastCGI只是一个接口。
相关文章
- ubuntu 下wireshark 软件安装与使用
- 如何使用yum 下载 一个 package ?如何使用 yum install package 但是保留 rpm 格式的 package ? 或者又 如何通过yum 中已经安装的package 导出它,即yum导出rpm?
- CentOS 6.8 安装最新版 Git
- PHP安装模式cgi、fastcgi、php_mod比较
- 通过yum安装nginx-mysql-php-fastcgi配置LNMP
- HP管理工具System Management Homepage安装配置
- Oracle 10g 11g 单机环境的安装
- MFS详解(五)——MFS元数据日志服务器安装与配置
- 【收藏】SonarQube-插件-离线安装PMD+阿里P3C
- Hadoop单机模式安装-(1)安装设置虚拟环境
- 阿里云上的docker安装
- ML之Anaconda:Anaconda集成平台简介、安装、使用方法的详细攻略
- linux下redis安装
- python之安装opencv
- ubuntu系统安装pangolin
- Ubuntu18安装Visual Studio Code
- Mac上安装fastboot等工具与烧写images(五十九)
- 安装内核切换内核
- centos7.2离线编译安装boost1.5.9
- Python使用技巧(十一):图像处理skimage模块库的安装与使用