Apache+php-fpm

实验环境如下:

node1 Apache server 10.1.12.12
node2 php-fpm
10.1.12.13

系统环境:centos 7

node1

Apache server确认有下面的模块

~]# httpd -M |grep fcgi
proxy_fcgi_module (shared)

定义一个虚拟主机

~]# vi /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
        ServerName www.blackCao.com
        DocumentRoot "/web/www"
        CustomLog logs/black_access.log conbaind
        ErrorLog logs/black_error.log
    <Directory "/web/www">
        Options none
        AllowOverride none
        Require all granted
    </Directory>
        ProxyRequests off
        ProxypassMatch ^/(ping|status|.*\.php)$ fcgi://10.1.12.13:9000/data/application/$1
        DirectoryIndex index.php
</VirtualHost>

ProxyPassMatch 将前端ping|status|PHP结尾的请求都转发至后端的PHP服务器后端网页存放位置自定义;

建立PHP状态页的配置文件

]# vi /etc/httpd/conf.d/status.conf
<Directory /status>
        SetHandler Status-server
        Require all granted
</Directory>

建立虚拟主机主页目录

]# mkdir -pv /web/www
[[email protected] ~]# httpd -t
[[email protected] ~]# systemctl start httpd.service
[[email protected] ~]# ss -tnl

检查语法,启动服务,查看端口是否监听正常,




node2

~]# vi /etc/php-fpm.d/
listen = 10.1.12.13:9000    必须监听在一个能与外网通信的外部地址的端口
listen.allowed_clients = 10.1.12.12   IP为http server主机的
pm.status_path = /status    PHP的状态页
ping.path = /ping        可检查PHP服务是否正常
ping.response = pong    上面ping的回应,pong说明正常,不响应说明有问题

建立web文件存放目录(对应上面虚拟机里定义的路径)

~]# mkdir -p /data/application
~]# vi /data/application/index.php
<?php
        phpinfo();
?>

配置完成,启动服务查看9000端口是否在监听状态



php-fpm的配置选项

listen.backlog = -1

假如连接池定义最多能有50个连接,当来了55个的时候。这个选项定义这个后援队列的长度,-1表示不限制,如果内存不够用的时候可能会做修改

pm = dynamic

定义processor管理机制:static(使用一个固定的子进程数量)

dynamic(使用可变的子进程数量)

pm.max_children:最大子进程数量;连接池的最大容量;

pm.start_servers:服务启动时所启动的子进程数量;

pm.min_spare_servers最少空闲子进程数

pm.max_spare_servers最大空闲子进程数

rlimit_files = 1024所能打开的文件的数量,每个连接需要一个套接字文件,最多只有50个

rlimit_core = 0核心所能使用的内存空间大小,0表示不作限制

pm.status_path = /status

ping.path = /ping监控fpm的工作是否正常

ping.response = pong

php_value[session.save_path] = /var/lib/php/session   session的存储位置



status输出信息

pool:www     #连接池名称

process manager:  dynamic  #进程管理器类型

start time: 11/Oct/2016:11:22:04 +0800   #启动日期时间

start since:917          # 运行时长

accepted conn: 9         # 连接池已经处理过的请求数

listen queue: 0        # 请求队列长度

max listen queue:  0      # 请求队列的最大长度

listen queue len: 128      # socket等待队列的长度

idle processes: 4         # 空闲进程数量

active processes: 1        # 活跃的进程数量

total processes: 5        # 连接池中的总进程数量

max active processes: 2     # 连接池中最大的活跃进程数量

max children reached: 0     # 达到连接池中最大进程数量限制的上限的次数

slow requests: 0 :        启用了slow-log时,记录慢请求的数量




时间: 2024-10-10 08:08:34

Apache+php-fpm的相关文章

LAMP-配置apache与fpm方式的php

一.Apache.MySql的安装与前一部分相同:请跟进其进行安装: 版本信息:apache-2.4.4.php-5.4.13 二.编译安装php-5.4.13 1.解决依赖关系: #yum -y groupinstall "X Software Development" 如果想让编译的php支持mcrypt扩展,需要下载两个rpm包并安装. libmcrypt-2.5.7-5.el5.i386.rpm libmcrypt-devel-2.5.7-5.el5.i386.rpm mhas

CentOS安装Apache的FastCGI模块(mod_fastcgi)

网上有很多篇关于Apache的fastcgi模块安装说明的文章,大部分都是基于Apache源码编译的,如果是通过yum install方式安装httpd的话,直接依葫芦画瓢必然会遇到各种各样的编译问题,通过查阅老外写的一些关于CentOS下Apache的FastCGI模块(mod_fastcgi)的安装文档,我大致重新整理了一下. 1. 安装编译相关的依赖包 # yum install httpd-devel apr apr-devel libtool 2. 下载mod_fastcgi源代码 #

ubuntu18.04 编译安装 apache php

1. apache apache需要依赖几个模块:apr, apr-util, pcre,也分别源码安装. 1.1 编译安装 1.1.1 apr apr-util 下载地址:http://apr.apache.org/download.cgi 分别下载解压,然后在源码目录下 ./configure --prefix=xxx(apr-util 需要设置 --with-apr=[apr的安装路径]),然后 make && make install 即可. 1.1.2 pcre 下载地址:ftp

Mahout初步认识

Apache Mahout项目主要包括以下五个部分: 频繁模式挖掘:挖掘数据中频繁出现的项集. 聚类:将诸如文本.文档之类的数据分成局部相关的组. 分类:利用已经存在的分类文档训练分类器,对未分类的文档进行分类. 推荐引擎(协同过滤):获得用户的行为并从中发现用户可能喜欢的事务. 频繁子项挖掘:利用一个项集(查询记录或购物目录)去识别经常一起出现的项目. 在Mahout实现的机器学习算法: 算法类 算法名 中文名 分类算法 Logistic Regression 逻辑回归 Bayesian 贝叶

第一讲: Symfony3的简介,开发环境与版本控制

实战篇课程(包括视频,课件,源代码)全套购买地址:http://edu.csdn.net/course/detail/2661 课件 第一讲: Symfony3的简介,开发环境与版本控制 -讲师:lichnow QQ:406879210 由PHPNa原创制作 安装配置本地Symfony3运行环境 windows下建议使用Xampp或者UPUPW macos环境下建议使用brew安装 Linux环境下建议使用lampp或者编译安装 安装完PHP运行环境建议执行以下步骤: 添加PHP执行路径到PAT

LAMP两种模式

[LAMP] Linux(Centos)LAMP环境搭建,LAMP源码安装及LAMP架构原理详解 Wish_亮关注2人评论9469人阅读2018-08-20 01:33:10 本章blog主要介绍了[LAMP] Linux (Centos)LAMP环境搭建,LAMP源码安装及LAMP架构原理详解,并分别部署php与apache不同组合方式的LAMP案例. LAMP Server  LAMP简介 LAMP网站框架是目前国际上流行的Web服务架构,该框架包括GNU / Linux 操作系统,Apac

配置php-5.4.13以FPM(FastCGI)的形式和apache交互

配置php-5.4.13以FPM(FastCGI)的形式和apache交互 一.apache.MySQL的安装与前一部分相同:请根据其进行安装: 二.编译安装php-5.4.131.解决依赖关系: # yum -y groupinstall "X Software Development" 如果想让编译的php支持mcrypt扩展,如下两个rpm包需安装之:libmcrypt-2.5.7-5.el5.i386.rpmlibmcrypt-devel-2.5.7-5.el5.i386.rp

LAMP编译介绍二、 php以fpm的方式结合apache工作

上次介绍了有关php以模块的方式结合apache工作,这次介绍一下php以fpm的方式结合apache工作的过程! 编译安装LAMP,使用的操作系统为CentOS 6版本,ip地址:192.168.1.101: httpd和mariadb,以及xcache为php加速的编译过程没有变化,跟上次介绍的过程一样,这里就不多做介绍了! 注:不知道编译过程的朋友请查看<LMAP编译介绍一>所讲内容! 下面开始主要介绍php的编译!! php-5.4.40的编译 1.解决依赖关系 [[email pro

LAMP编译安装之PHP以fpm的方式结合apache工作

前面一个博文介绍了怎么用编译的方式搭建一个LAMP,这里我就不再一一描述了,我这里详细介绍一下PHP以fpm的方式工作: 如果想让编译的PHP支持mcrypt扩展,在这里除了libmcrypt这个包之外还需要安装 mhash-0.9.9.9-3.el6.x86_64 mhash-devel-0.9.9.9-3.el6.x86_64 [[email protected] tmp]# tar xf  php-5.4.40.tar.bz2  [[email protected] tmp]# cd ph

Nginx、Apache解析php文件的区别

一.Apache是如何解析php文件的 我们常说的lamp架构是linux.apache.mysql.php,我们知道任何架构或者网站离不开数据库的支持,那么php和apache又是如何协同工作的呢? php是apache的一个外挂程序,必须依靠web服务器才可以运行.当客户端浏览器触发事件--->php程序提交到apache服务器---->apache服务器根据php程序的特点判断是php程序,并从内存或者硬盘中提取访问所需要的应用程序,将其提交给php引擎程序--->php引擎程序解