LAMP-fpm

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

配置apache-2.4.23以fpm方式的php-5.6.26


一、apache、MySQL的安装与前一部分相同;请根据其进行安装;

http://jiayimeng.blog.51cto.com/10604001/1858857


二、编译安装php-5.6.26


1、解决依赖关系:


请配置好yum源(可以是本地系统光盘)后执行如下命令:

1
2
3
[root@centfils ~] # yum -y groupinstall "X Software Development" 
[root@centfils ~] # yum install libmcrypt libmcrypt-devel -y
[root@centfils ~] # yum install mhash mhash-devel -y

2、编译安装php-5.4.26


首先下载源码包至本地目录

1
2
3
4
5
6
7
8
9
10
11
12
# tar xf php-5.6.26.tar.bz2
# cd php-5.6.26
# ./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --enable-fpm --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2
 
 
说明:如果使用PHP5.3以上版本,为了链接MySQL数据库,可以指定mysqlnd,这样在本机就不需要先安装MySQL或MySQL开发包了。mysqlnd从php 5.3开始可用,可以编译时绑定到它(而不用和具体的MySQL客户端库绑定形成依赖),但从PHP 5.4开始它就是默认设置了。
# ./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
 
[root@centfils php-5.6.26] # make && make install
 
为php提供配置文件:
# cp php.ini-production /etc/php.ini


3、配置php-fpm

 

为php-fpm提供SysV init脚本,并将其添加至服务列表:

1
2
3
4
# cp sapi/fpm/init.d.php-fpm  /etc/rc.d/init.d/php-fpm
# chmod +x /etc/rc.d/init.d/php-fpm
# chkconfig --add php-fpm
# chkconfig php-fpm on

为php-fpm提供配置文件:

1
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
1
2
3
4
5
6
7
8
9
10
11
编辑php-fpm的配置文件:
# vim /usr/local/php/etc/php-fpm.conf
配置fpm的相关选项为你所需要的值,并启用pid文件(如下最后一行):
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 8
pid =  /usr/local/php/var/run/php-fpm .pid 
 
接下来就可以启动php-fpm了:
# service php-fpm start
1
2
3
4
5
6
使用如下命令来验正(如果此命令输出有中几个php-fpm进程就说明启动成功了):
# ps aux | grep php-fpm
 
默认情况下,fpm监听在127.0.0.1的9000端口,也可以使用如下命令验正其是否已经监听在相应的套接字。
# netstat -tnlp | grep php-fpm
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      689 /php-fpm


三、配置httpd-2.4.9


1、启用httpd的相关模块

在Apache httpd 2.4以后已经专门有一个模块针对FastCGI的实现,此模块为mod_proxy_fcgi.so,它其实是作为mod_proxy.so模块的扩充,因此,这两个模块都要加载

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so


2、配置虚拟主机支持使用fcgi


在相应的虚拟主机中添加类似如下两行。

  ProxyRequests Off

  ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/PATH/TO/DOCUMENT_ROOT/$1


http://www.magedu.com/admin/index.php


/web/host1/admin/index.php

fcgi://127.0.0.1:9000/web/hosts/admin/index.php



例如:

<VirtualHost *:80>

    DocumentRoot "/www/magedu.com"

    ServerName magedu.com

    ServerAlias www.magedu.com


  ProxyRequests Off

  ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/www/magedu.com/$1


    <Directory "/www/magedu.com">

        Options none

        AllowOverride none

        Require all granted

    </Directory>

</VirtualHost>


ProxyRequests Off:关闭正向代理

ProxyPassMatch:把以.php结尾的文件请求发送到php-fpm进程,php-fpm至少需要知道运行的目录和URI,所以这里直接在fcgi://127.0.0.1:9000后指明了这两个参数,其它的参数的传递已经被mod_proxy_fcgi.so进行了封装,不需要手动指定。


3、编辑apache配置文件httpd.conf,让apache能识别php格式的页面,并支持php格式的主页

1
2
3
4
5
6
7
8
9
10
  # vim /etc/httpd/httpd.conf
  1、添加如下二行
    AddType application /x-httpd-php   .php
    AddType application /x-httpd-php-source   .phps
 
  2、定位至DirectoryIndex index.html 
    修改为:
     DirectoryIndex  index.php  index.html
 
补充:Apache httpd 2.4以前的版本中,要么把PHP作为Apache的模块运行,要么添加一个第三方模块支持PHP-FPM实现。




本文转自 元婴期 51CTO博客,原文链接:http://blog.51cto.com/jiayimeng/1858917

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
Unix 应用服务中间件 Linux
centos下安装nginx+php-fpm
centos下安装nginx+php-fpm
153 0
|
Linux 应用服务中间件 PHP
yum 6.8 nginx php-fpm
centos6.8 yum安装 php-fpm 1.检查当前安装的PHP包 yum list installed | grep php 如果有安装的PHP包,先删除他们 yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64   配置yum源 追加CentOS 6.5的epel及remi源。
867 0
|
Web App开发 应用服务中间件 PHP
|
关系型数据库 MySQL PHP
|
PHP Apache 开发工具
|
关系型数据库 MySQL 应用服务中间件
|
应用服务中间件 nginx Ruby

热门文章

最新文章