一、fastCGI介绍
CGI 通用网关接口,用于HTTP服务和其他应用的程序通信交流工具,CGI程序必须运行在网络服务器上,性能差。就产生了FastCGI
FastCGI原理和CGI一样不过区别是把动态语言和HTTP服务器分离出来 C/S架构:客户端服务端 B/S : 浏览器服务器 特点: 1、 FastCGI是HTTP服务器和动态脚本语言间通信的接口或者工具 2、 FastCGI优点是把动态语言解析和HTTP服务器分离开来 3、 Nginx、Apache、lighttpd以及多数动态语言都支持FastCGI 4、 FastCGI接口方法采用C/S结构,分为客户端(HTTP服务器)和服务器(动态语言解析服务器) 5、 PHP动态语言服务端可以启动多个FastCGI的守护进程 6、 http服务器通过(Nginx fastcgi_pass)FastCGI客户端和动态语言FastCGI服务端通信(如:php-fpm)
一、检查是否安装nginx和mysql以及是否开启
[root@oldboy ~]# ss -lntup|egrep "3306|80" tcp LISTEN 0 50 *:3306 *:* users:(("mysqld",1587,11)) tcp LISTEN 0 511 *:80 *:* users:(("nginx",1684,8),("nginx",1685,8)) [root@oldboy ~]# ss -lntup|egrep "nginx|mysql" tcp LISTEN 0 50 *:3306 *:* users:(("mysqld",1587,11)) tcp LISTEN 0 511 *:80 *:* users:(("nginx",1684,8),("nginx",1685,8))
二、检查库文件并且安装
rpm -qa zlib-devel libxml2-devel libjpeg-devel libiconv-devel
rpm -qa freetype-devel libpng-devel gd-devel curl-devel
yum install zlib-devel libxml2-devel libjpeg-devel libiconv-devel libjpeg-turbo-devel-y yum install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel -y 检查 rpm -qa zlib-devel libxml2-devel libjpeg-devel libiconv-devel libjpeg-turbo-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel
三、由于yum不能安装libiconv-devel所以要安装
mkdir -p /home/pyrene/tools cd /home/pyrene/tools wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz tar zxf libiconv-1.14.tar.gz cd libiconv-1.14 ./configure —prefix=/usr/local/libiconv make make install cd ../
四、安装libmcrypt用于动态加载
1、 安装epol源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo 2、安装libmcrypt [root@A tools]# yum install libmcrypt-devel -y 3、检查 [root@A tools]# rpm -qa libmcrypt-devel libmcrypt-devel-2.5.8-9.el6.x86_64
五、安装mhash加密扩展库 (同样需要epel源)
[root@A tools]# yum list |grep mhash mhash.i686 0.9.9.9-3.el6 epel mhash.x86_64 0.9.9.9-3.el6 epel mhash-devel.i686 0.9.9.9-3.el6 epel mhash-devel.x86_64 0.9.9.9-3.el6 epel [root@A tools]# yum install mhash-devel -y →下载 [root@A tools]# rpm -qa mhash mhash-devel →检查 mhash-0.9.9.9-3.el6.x86_64 mhash-devel-0.9.9.9-3.el6.x86_64
六、安装mcrypt加密扩展库
[root@A tools]# yum install mcrypt mcrypt-devel -y →下载mcrypt [root@A tools]# rpm -qa mcrypt →检查是否安装mcrypt mcrypt-2.6.8-10.el6.x86_64
二、安装php
一 安装及参数
去搜狐下载
http://mirrors.sohu.com/
http://mirrors.sohu.com/php/php-5.5.32.tar.gz
1、yum install libxslt-devel -y yum install openssl-devel -y
2、tar xf php-5.5.32.tar.gz 3、php参数 ./configure --prefix=/application/php5.5.32 --with-mysql=/application/mysql/ --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-short-tags --enable-zend-multibyte --enable-static --with-xsl --with-fpm-user=www --with-fpm-group=www --enable-ftp --enable-opcache=no
./configure --prefix=/application/php5.5.32 --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local/libiconv --with-freetype=dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --enable-short-tags --enable-static --with-xsl --with-fpm-user=www --with-fpm-group=www --enable-ftp --enable-opcache=no 上面的错了就用这个
nysql5.5比5.3多了下面两个参数
--enable-opcache=no
--with-pdo-mysql=mysqlnd
二、为了避免安装出错要创建下面的问题
[root@oldboy php-5.5.32]# ln -s /application/mysql/libmysqlclient.so.18 /usr/lib64/
[root@oldboy php-5.5.32]# touch ext/phar/phar.phar
之后 make && make install 检查 echo $? 0 则成功
之后做软连接
[root@oldboy php-5.5.32]# ln -s /application/php5.5.32/ /application/php
三、配置并且启动php
1、配置php解析文件 [root@A php-5.3.27]# ls -l php.ini-* -rw-r--r—. 1 101 101 69606 7月 11 2013 php.ini-development →生产环境 -rw-r—r—. 1 101 101 69627 7月 11 2013 php.ini-production →开发环境 区别:生产环境把错误关闭,开发环境把错误打开 做php解析 首先修改下面的配置文件 [root@A php-5.3.27]# cp php.ini-production /application/php/lib/php.ini --》把生产环境配置文件修改 2、配置php配置文件(fastcgi模式)配置文件php-fpm.conf [root@A ~]# cd /application/php/etc/ ---》配置文件目录 [root@A etc]# ls pear.conf php-fpm.conf.default [root@A etc]# cp php-fpm.conf.default php-fpm.conf --》要把这个改名才可以用
3、之后配置php-fpm.conf
4、mkdir /app/logs
5、启动php [root@A /]# /application/php/sbin/php-fpm ---》如果下面什么也不出现就是启动成功了 6、查看端口 ss -lntup|grep 9000