php-fpm服务一般情况下我们只会配置一个php-fpm了,如果我们碰到要实现多实例php-fpm服务要如何来配置呢,下面一起来看看吧。 这里是在LNMP环境的基础上配置多实例的过程。因为我在使用的是LNAMP环境,所以额外编译一份php到/usr/local/php-fpm/,配置文件在/etc/php-fpm/,并在此基础上做的笔记。 先修改三个值:

  1. 以static方式,也就是固定进程数量运行php-fpm。 本文仍 以dynamic方式运行
  2. 每个实例建立100个worker进程。(不宜太多,避免不稳定),本文建立25个
  3. 每个进程执行完200次请求即退出。(避免PHP的内存泄露问题,也就是内存越用越多)

位置: /etc/php5/fpm/pool.d/www.conf

sed -i 's#pm.max_children = 5#pm.max_children = 25#' /etc/php5/fpm/pool.d/www.conf
sed -i 's#;pm.max_requests = 500#pm.max_requests = 500#' /etc/php5/fpm/pool.d/www.conf

拷贝: cp /etc/php5/fpm /etc/php5/fpm2

sed -i 's#listen = 127.0.0.1:9000#listen = 127.0.0.1:9001#' /etc/php5/fpm2/pool.d/www.conf

拷贝: cp /etc/init.d/php5-fpm /etc/init.d/php5-fpm2

修改一下几处,其实就是把对应地方改为fpm2

NAME=php5-fpm2
...
DAEMON_ARGS="--daemonize --fpm-config /etc/php5/fpm2/php-fpm.conf"
PIDFILE=/var/run/php5-fpm2.pid
...
/usr/lib/php5/php5-fpm2-checkconf || return
...

拷贝: cp /usr/lib/php5/php5-fpm-checkconf /usr/lib/php5/php5-fpm2-checkconf

修改对应地方改为fpm2

errors=$(/usr/sbin/php5-fpm --fpm-config /etc/php5/fpm2/php-fpm.conf -t >& | grep "\[ERROR\]" || true);

配置完毕,然后启动

service php5-fpm2 start

毫无反应!!!!

关键是,连报错提示都木有。。。

排错中。。。。。

发现在 [ -x "$DAEMON" ] || exit  时已经退出执行了,解决办法:cp /usr/sbin/php5-fpm /usr/sbin/php5-fpm2 。

同样问题依旧出现,继续,发现进入了 if init_is_upstart; then 条件判断,导致退出执行,无奈之举 注释了exti 语句。。感觉欠妥,但一时不知更好的处理方法,如果有更好的解决办法,,烦请告知。。在此多谢

终于,,,,可以启动了。。

配置nginx

位置: /etc/nginx/sites-enabled/default

upstream phpbackend {
server 127.0.0.1: weight= max_fails= fail_timeout=;
server 127.0.0.1: weight= max_fails= fail_timeout=;
} server {
listen default_server;
listen [::]: default_server ipv6only=on; root /usr/share/nginx/html;
index index.php index.html index.htm; # Make site accessible from http://localhost/
server_name localhost; location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a .
try_files $uri $uri/ =;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
} location ~\.php$ {
try_files $uri = ;
#fastcgi_pass 127.0.0.1:;
fastcgi_pass phpbackend;
fastcgi_index index.php;
include fastcgi_params;
} }

重启nginx,ok

访问phpinfo,可正常访问

在这有几点疑问,不知道大家是否有同样疑惑,或者知道答案的小伙伴烦请共享下知识,哈哈哈哈

php-fpm明明开启了多实例运行,9000和90001端口,但是通过访问phpinfo看到的信息一直访问的配置文件是/etc/php5/fpm下面的,即便通过日志看到的访问的是9001端口,配置依旧是/etc/php5/fpm。。纳闷

ubuntu下php-fpm多实例运行配置的更多相关文章

  1. Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

    Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我 ...

  2. ubuntu 下搭建apache+python的运行环境

    ubuntu下怎么搭建apache+python运行环境,可以参考http://www.01happy.com/ubuntu-apache-mod-python/ ,这里只是简单的记录下步骤,本文主要 ...

  3. Ubuntu 下 firebird 数据库的安装和配置

    Ubuntu 下 firebird 数据库的安装和配置 1.简介 本文主要是 Ubuntu 下 firebird 数据库的安装和目录迁移,同样适用于 Debian 系统:Ubuntu 20.0.4 f ...

  4. Ubuntu 下 Apache2 和 PHP 服务器环境配置

    Ubuntu 下 Apache2 和 PHP 服务器环境配置 1.简介 本文主要是 Ubuntu 下 Apache2 和 PHP 服务器环境配置方法,同样适用于 Debian 系统:Ubuntu 20 ...

  5. Ubuntu下软件安装方式、PATH配置、查找安装位置

    Ubuntu 18.04, 安装方式 目前孤知道的Ubuntu下安装软件方式有3种(命令): 1.make 2.apt/apt-get 3.dpkg 方式1基于软件源码安装,需要经历配置(可选).编译 ...

  6. Ubuntu下增加eclipse菜单图标并配置java path(解决点击图标不能启动eclipse的问题)

    Ubuntu下增加eclipse菜单图标 Ubuntu的菜单图标在/usr/share/applications目录下. 1. 在/usr/share/applications目录下新建eclipse ...

  7. ubuntu下使用code::blocks编译运行一个简单的gtk+2.0项目

    在具体的操作之前,首先需要安装一些必要的软件.ubuntu下默认安装了gcc,不过缺少必要的Header file,可以在命令行中输入下面的指令安装build-essential套件:sudo apt ...

  8. ubuntu 下安装eclipse &java环境配置

    前面有一篇的博客写的是ubuntu下安装eclipse和java环境的配置.当时是安装网上的攻略进行的 ,当然也是能够成功的. 近期把那台电脑送人了 ,仅仅好在自己的这台电脑上又一次安装一次了 ,唯一 ...

  9. Ubuntu下LaTex中文环境安装与配置

    转载自:http://www.linuxidc.com/Linux/2012-06/62456.htm LaTeX是一个强大的排版软件,但是其最初只是为英文排版而设计的.为了使其能够胜任中文排版的重任 ...

随机推荐

  1. IntelliJ IDEA 运行错误:java: Compilation failed: internal java compiler error

    错误:java: Compilation failed: internal java compiler error 解决的方法: 文件 --> 设置 : 若没有模块,点击右边的把自己项目的模块添 ...

  2. poj 2253 Frogger 解题报告

    题目链接:http://poj.org/problem?id=2253 题目意思:找出从Freddy's stone  到  Fiona's stone  最短路中的最长路. 很拗口是吧,举个例子.对 ...

  3. html5--6-53 阶段练习4-画廊

    html5--6-53 阶段练习4-画廊 学习要点 运用所学过的知识完成一个简单的小练习,理解对过渡动画的应用. @charset "utf-8"; /* CSS Document ...

  4. 【USACO】 Max Flow

    [题目链接] 点击打开链接 [算法] LCA + 树上差分 [代码] #include<bits/stdc++.h> using namespace std; int i,x,y,N,K, ...

  5. MYSQL数据库学习----查询

    查询语句是MYSQL数据库中用到的最多的语句. 查询语句分为几种 单表查询 集合函数查询 连接查询 子查询 合并查询 正则表达式查询 一:单表查询 SELECT 属性 FROM 表名 [WHERE 查 ...

  6. bzoj3270博物馆——期望概率DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3270 设计一个状态表示两个人分别在两个点的状态,带个标号num[i][j]: 据此得到状态之 ...

  7. C. Vanya and Scales

    time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...

  8. Codeforces - 814B - An express train to reveries - 构造

    http://codeforces.com/problemset/problem/814/B 构造题烦死人,一开始我还记录一大堆信息来构造p数列,其实因为s数列只有两项相等,也正好缺了一项,那就把两种 ...

  9. hdoj3711【水】

    题意: 给你两个集合,对于每个B集合的元素,从A集合找一个数使得a^b的二进制的1个数最少. 思路: 直接搞= = #include <bits/stdc++.h> using names ...

  10. Codeforces Round #324 (Div. 2)C. Marina and Vasya

    A的万般无奈...后来跑了大牛的这份代码发现, 题意是求一个序列与给定的两个序列有t个不同. 只要保证...对应位置就行了.. 所以处理起来非常方便.............. 可是没有感觉是对应位置 ...