PHP-FPM 使用

PHP-FPM

是在 Linux 环境下用来管理调度 PHP 执行的调度器,源码安装时会自动安装,PHP 安装可参考Centos 下安装 PHP (新)

查看版本

# php-fpm -v

启动

# php-fpm -c php.ini -y php-fpm.conf

重启

# php-fpm restart

# kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

扩展

# /etc/init.d/php-fpm { start/stop/restart/reload... }

# /service php-fpm { start/stop/restart/reload... }

service 命令就是调用 /etc/init.d 目录下的脚本文件,这种方式其实就是对 kill 方式的一种封装

信号

信号 作用
INT 立即终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 重启(平滑重载所有 worker 进程并重新载入配置和二进制模块)

如何在同一台主机下运行多个 php 配置监听多个端口

场景有 wwwroot/a.com 和 wwwroot/b.com,a.com 使用 9001 端口,b.com 使用 9002 端口。方法是

  • 建立多个配置文件
# cd /usr/local/php/etc/php-fpm.d
# cp www.conf a.com.conf
# vi a.com.conf 修改进程池名,重名的话后面载入的配置会覆盖掉同名的
[www] 修改为 [a.com] 修改使用的用户名和组
user = nginx(与 nginx.con 相同)
group = nginx 修改侦听
listen = 127.0.0.1:9001

按相同方式,再复制出一个 b.com.conf

  • 命令方式载入多个配置
# /etc/init.d/php-fpm restart --config-php /usr/local/php/etc/php-fpm.d/a.com.conf
# /etc/init.d/php-fpm restart --config-php /usr/local/php/etc/php-fpm.d/b.com.conf 查看一下
# ps aux|grep php-fpm 输出
# root 24425 0.0 0.1 151364 4892 ? Ss 14:14 0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
# nginx 24426 0.0 0.1 151348 4448 ? S 14:14 0:00 php-fpm: pool a.com
# nginx 24427 0.0 0.1 151348 4448 ? S 14:14 0:00 php-fpm: pool a.com
# nginx 24428 0.0 0.1 151348 5380 ? S 14:14 0:00 php-fpm: pool b.com
# nginx 24429 0.0 0.1 151348 5380 ? S 14:14 0:00 php-fpm: pool b.com
# nginx 24430 0.0 0.1 151348 5380 ? S 14:14 0:00 php-fpm: pool www
# nginx 24431 0.0 0.1 151348 5380 ? S 14:14 0:00 php-fpm: pool www
# root 24433 0.0 0.0 112712 968 pts/0 S+ 14:17 0:00 grep --color=auto php-fpm

可以看到 pool 后面有三个地址,a.com、b.com是自建的两个配置,www 是 www.conf 默认的

参考

多个项目公用php的一个端口好还是一个项目使用一个php端口?

linux启动多个php-fpm

PHP-FPM多实例配置及nginx对应配置

PHP-FPM 使用(含多站点多端口)的更多相关文章

  1. wamp多站点多端口配置

    1.配置httpd.conf 监听多个端口 #Listen 12.34.56.78:80 Listen 8081 Listen 8082 Listen 8083 可以通过netstat -n -a查看 ...

  2. 在XP上运行IIS5.1新建站点

    系统问题,XP下IIS5.1不能直接新建站点,因为内核限制只能同时运行一个站点,要想新建站点,必须把当前站点停掉,然后用adsutil.vbs脚本创建,脚本在C:\Inetpub\AdminScrip ...

  3. tomcat 一个服务 多端口网站

    多站点多端口   <Service name="Catalina">      <Connector port="8080" protocol ...

  4. 基于Nginx+redis的Asp.net站点搭建

    剧情介绍 在传统的信息系统(比如小规模的ERP\MES系统),往往只是进行简单的应用服务器和数据库服务器的分布式部署,以此来提高应用系统的负载能力,而伴随着访问的增大,应用服务器层面除了做硬件和网络的 ...

  5. swagger.net 使用nginx 代理时出现端口号导致出错

    1:当我们通过nginx代理访问时,由于nginx配置了映射到的一个站点为端口为127.0.0.1:6201,导致访问swagger接口时出现增加端口号,如下截图,这样就导致整个swagger无法使用 ...

  6. 启动PHP study时提示80端口或者3306端口被占用的解决办法

    一.查看PID WIN+R打开命令行------>netstat -ano+回车,就会显示下面的信息: 二.打开任务管理器 Ctrl+Alt+Delete------>任务管理器,找到对应 ...

  7. Windows 之 手机访问 PC 端本地部署的站点

    测试网页在手机上的显示工具我们可以使用谷歌内核的浏览器,打开开发者工具(F12),在device那里选择设备,然后刷新来查看网页在手机上的显示效果. 但毕竟是模拟的,如果想要在真机上调试该怎么办呢. ...

  8. ASP.NET Core 入门(4)(IIS 部署前后端站点)

    .NET Core发布部署的文章园内有很多了,大家可以自行百度,该篇主要想总结需要注意的地方,列举前后端(比如前段 Vue,后端 WebAPI)在同一台服务器上的主要两种方式. 两种方式: 1. 前后 ...

  9. j2EE经典面试题

    1. hibernate中离线查询去除重复项怎么加条件? dc.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); 2. http协议及端口,sm ...

随机推荐

  1. 【JZOJ】3490. 旅游题解报告

    题目 思路 这道题看上去就像一个动态规划!但是还是要把矩阵压成一行. 然后按 \(A\)数组 将结构体从小到大排个序. 随后我们开始了动规标准步骤: 确定状态 很显然, \(f_i\) 表示游览完第\ ...

  2. 混淆矩阵-MATLAB代码详解

    一.混淆矩阵 (一).简介 在人工智能中,混淆矩阵(confusion matrix)是可视化工具,特别用于监督学习,在无监督学习一般叫做匹配矩阵.在图像精度评价中,主要用于比较分类结果和实际测得值, ...

  3. 系统默认的alert弹出框总会带有域名

    最近在开发Hybrid APP时发现用系统默认的alert弹出框总会带有域名,用户体验就比较不好了.想了一种办法来解决就是覆盖alert的方法. (function(){       window.a ...

  4. 基于Docker搭建分布式消息队列Kafka

    本文基于Docker搭建一套单节点的Kafka消息队列,Kafka依赖Zookeeper为其管理集群信息,虽然本例不涉及集群,但是该有的组件都还是会有,典型的kafka分布式架构如下图所示.本例搭建的 ...

  5. Android 自定义 View 详解

    View 的绘制系列文章: Android View 绘制流程之 DecorView 与 ViewRootImpl Android View 的绘制流程之 Measure 过程详解 (一) Andro ...

  6. Java基础面试相关

    面试相关的问题(下) 四 Linux高级_ 1.Linux机器 变慢,怎么查看? (1)整机的性能 主要查看的是CPU和内存 先查看整机的top,使用命令 top 虚拟机 使用1可以查看哪个核被占用过 ...

  7. luogu P4302 [SCOI2003]字符串折叠

    题目描述 折叠的定义如下: 一个字符串可以看成它自身的折叠.记作S = S X(S)是X(X>1)个S连接在一起的串的折叠.记作X(S) = SSSS-S(X个S). 如果A = A', B = ...

  8. 浏览器主页锁定之战——IE:我太难了

    精彩回顾: 我是一个explorer的线程 我是一个杀毒软件线程 我是一个IE浏览器线程 比特宇宙-TCP/IP的诞生 产品vs程序员:你知道www是怎么来的吗? Hello, World! 我是一个 ...

  9. Seata 客户端需要同时启动 TM 和 RM 吗?

    在分析启动部分源码时,我发现 GlobalTransactionScanner 会同时启动 RM 和 TM client,但根据 Seata 的设计来看,TM 负责全局事务的操作,如果一个服务中不需要 ...

  10. JavaEE基础(03):Http请求详解,握手挥手流程简介

    本文源码:GitHub·点这里 || GitEE·点这里 一.Http协议简介 1.概念说明 HTTP超文本传输协议,是用于从万维网服务器传输超文本到本地浏览器的传送协议,基于TCP/IP通信协议来传 ...