PHP以FastCGI方式与LAMP整合

1、系统环境:

[[email protected] ~]# cat /etc/issue
CentOS release 6.4 (Final)
Kernel \r on an \m
 
[[email protected] ~]# uname -r
2.6.32-358.el6.x86_64
[[email protected] ~]# ifconfig | grep Bcast:
          inet addr:192.168.0.200  Bcast:192.168.0.255  Mask:255.255.255.0

2、httpd 2.4源码安装:

请猛戳:httpd 2.4源码安装

3、mysql 5.5通用二进制包安装:

请猛戳:mysql 5.5通用二进制包安装

4、编译安装php,开启fpm:

[[email protected] php-5.5.20]# pwd
/root/software/php/php-5.5.20
[[email protected] php-5.5.20]# ./configure --prefix=/usr/local/php5.5 --enable-mbstring --enable-xml  --enable-fpm --enable-sockets --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2
#--enable-fpm              开启php-fpm
#--enable-maintainer-zts   此选项已删除,因php是已独立方式运行
[[email protected] php-5.5.20]# make && make install

为php提供配置文件、为php-fpm提供配置文件及为php-fpm提供启用脚本:

[[email protected] php-5.5.20]# cp php.ini-production /etc/php.ini
[[email protected] php-5.5.20]# cp /usr/local/php5.5/etc/php-fpm.conf.default /usr/local/php5.5/etc/php-fpm.conf
[[email protected] php-5.5.20]# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
[[email protected] php-5.5.20]# chmod +x /etc/rc.d/init.d/php-fpm
[[email protected] php-5.5.20]# chkconfig --add php-fpm
[[email protected] php-5.5.20]# chkconfig --list php-fpm
php-fpm         0:off 1:off 2:on  3:on  4:on  5:on  6:off

启动php-fpm及验证php-fpm服务:

[[email protected] php-5.5.20]# service php-fpm start
Starting php-fpm  done
[[email protected] php-5.5.20]# ps aux | grep php-fpm

5、配置httpd,让其成为fastcgi客户端,并把httpd配置成虚拟主机方式工作:

启用mod_proxy.so及mod_proxy_fcgi.so两个模块:

[[email protected] php-5.5.20]# vim /etc/httpd24/httpd.conf
……省略
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
……省略

配置httpd.conf文件,让其对php文件的支持:

[[email protected] php-5.5.20]# vim /etc/httpd24/httpd.conf
    ……省略
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php           #新增
    AddType application/x-httpd-php-source .phps   #新增
    ……省略
    <IfModule dir_module>
    DirectoryIndex index.php index.html   #新增index.php
    </IfModule>

停用中心主机,并启用虚拟主机的支持:

[[email protected] php-5.5.20]# vim /etc/httpd24/httpd.conf
#DocumentRoot "/usr/local/apache24/htdocs"   #注释此行,关闭中心主机
……
# Virtual hosts
Include /etc/httpd24/extra/httpd-vhosts.conf   #启用此行,开启虚拟主机文件

配置虚拟主机配置文件:

[[email protected] php-5.5.20]# vim /etc/httpd24/extra/httpd-vhosts.conf
#注释最后的</VirtualHost>容器,在最后新增下面配置:
<VirtualHost *:80>
     DocumentRoot "/web/zhaochj.com"
     ServerName www.zhaochj.com
     ProxyRequests Off
     ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/web/zhaochj.com/$1
     <Directory "/web/zhaochj.com">
        Options none
        AllowOverride none
        Require all granted
     </Directory>
</VirtualHost>

准备网页文件目录,建立测试页面:

[[email protected] php-5.5.20]# mkdir -p /web/zhaochj.com
[[email protected] php-5.5.20]# vim /web/zhaochj.com/index.php 
<?php
     phpinfo();
?>

重新启动httpd:

[[email protected] php-5.5.20]# /usr/local/apache24/bin/apachectl -k stop
[[email protected] php-5.5.20]# /usr/local/apache24/bin/apachectl -t
Syntax OK
[[email protected] php-5.5.20]# /usr/local/apache24/bin/apachectl -k start

访问测试页面:

6、优化php5,启用php5自带的代码缓冲机制opcache,不再使用xcache了:

[[email protected] php-5.5.20]# vim /etc/php.ini
……省略
[opcache]
zend_extension = /usr/local/php5.5/lib/php/extensions/no-debug-non-zts-20121212/opcache.so
opcache.enable=1
opcache.memory_consumption = 64
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 4000
opcache.revalidate_freq = 60
opcache.fast_shutdown = 1
opcache.enable_cli = 1
……省略

重新启动php-fpm:

[[email protected] php-5.5.20]# service php-fpm restart

测试opcache是否启用:

[[email protected] php-5.5.20]# /usr/local/php5.5/bin/php -m

时间: 2024-10-31 22:59:18

PHP以FastCGI方式与LAMP整合的相关文章

编译安装LAMP之配置httpd以FastCGI方式与php整合

一.编译安装httpd(httpd 2.4.4,相关软件包可到apache官网上下载) # hwclock -s 将软件时间同步为硬件时间,防止安装软件时出错 1.解决依赖关系 httpd-2.4.4需要较新版本的apr和apr-util,因此需要事先对其进行升级.这里使用源码包进行升级(apr-1.5.2,apr-util-1.5.4 ) (1) 编译安装apr # tar xf apr-1.5.2.tar.bz2 # cd apr-1.5.2 # ./configure --prefix=/

基于php-fpm方式部署LAMP

前言 CentOS 7: httpd-2.4:rpm包默认编译支持了fcgi模块: php-fpm包:专用于将php运行于fpm模式: 当我们使用php-fpm方式部署LAMP时,需要使用三台服务器,一台服务器作为http服务器,一台当作php-fpm服务器,一台作为数据库服务器.当http服务器接收到客户端的请求时,会通过本地磁盘IO返回出请求中的静态请求资源,当http服务器匹配到请求数据中的动态资源后,通过fastcgi将动态资源请求转发给php-fpm服务器的9000端口,php-fpm

PHP源码安装及配置——以fastCGI的方式与httpd整合

在前一篇博文中介绍了LAMP的安装及配置.这里专门介绍PHP以fastCGI的方式与httpd整合的情况下,具体如何编译及配置.而且假定httpd.mysql均如前一篇博文介绍的安装配置完毕.php也采取一样版本的源码包php-5.6.1.tar.bz2. 1.  编译安装php # tar xf php-5.6.1.tar.bz2 # cd php-5.6.1 # ./configure --prefix=/usr/local/php --enable-sockets --enable-mbs

php5.3 fastcgi方式 安装以及和nginx整合

php5.3 fastcgi方式 安装以及和nginx整合 注意:不要随便改变基础库的版本,否则会对别的软件产生编译错误 1.基础依赖包安装: cd /software/zlib-1.2.3./configuremakemake install cd /software/libxml2-2.6.30./configure --prefix=/usr/local/libxml2/make make install  cd /software/libmcrypt-2.5.8./configure -

lamp整合三连发(2)

LAMP整合方式2 要求:(1) 三者分离于三台主机: (2) 一个虚拟主机用于提供phpMyAdmin:另一个虚拟主机用于提供wordpress: (3) 安装xcache加速php访问 实验机准备: 172.18.29.122:phpfpm php fastCGI应用服务器 172.18.29.121:httpd http服务器,为php 172.18.29.120:mariadb数据库服务区 一.安装httpd服务器 在122服务器CentOS7上安装httpd服务器,安装从略,见上篇博文

lamp整合三连发(1)

LAMP安装日常中十分常见.在CentOS 6中默认的php5.3.0以下的版本不支持fpm fastCGI机制:需要自行打补丁或编译安装:默认安装的httpd 2.2没有对fasCGI的支持模块,所以在CentOS 6 中只能编译安装httpd2.4和php5.3.3+:在CentOS 7中默认安装的httpd 2.4新特性中加入了fastCGI的支持模块,php可以独立安装安装php-fpm包即可.今天就弄下三种模式下的LAMP搭建: (1)CentOS 7, lamp (module):

lamp整合三连发(3)

LAMP整合方式2 要求:(1) 三者分离于两台或三台主机: (2) 一个虚拟主机用于提供phpMyAdmin:另一个虚拟主机用于提供wordpress: (3) xcache (4) 尝试mpm为非prefork机制: 现有服务器:172.18.29.141CentOS 6.6为httpd(包含php模块)服务器 172.18.29.142CentOS 6.6作为mysql服务器 一.编译安装httpd 一.编译安装apache 1.解决依赖关系 httpd-2.4.9需要较新版本的apr和a

apache/mysql/php编译安装及支持xcache和fastcgi方式运行

一.编译安装apache     1.安装环境:yum install gcc gcc-c++ openssl-devel libtool -y     2.安装apr.apr-util及pcre         tar jxf apr-1.5.1.tar.bz2         cd apr-1.5.1         ./configure --prefix=/usr/local/apr         make && make install              tar jxf

JAVAWEB开发之Spring详解之——Spring的入门以及IOC容器装配Bean(xml和注解的方式)、Spring整合web开发、整合Junit4测试

Spring框架学习路线 Spring的IOC Spring的AOP,AspectJ Spring的事务管理,三大框架的整合 Spring框架概述 什么是Spring? Spring是分层的JavaSE/EE full-stack(一站式)轻量级开源框架. 所谓分层: SUN提供的EE的三层结构:web层.业务层.数据访问层(也称持久层,集成层). Struts2是web层基于MVC设计模式框架. Hibernate是持久的一个ORM的框架. 所谓一站式:Spring框架有对三层的每层解决方案.