博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用多fastcgi进行php负载均衡
阅读量:6694 次
发布时间:2019-06-25

本文共 1267 字,大约阅读时间需要 4 分钟。

前段时间做了一个php负载均衡试验,上网找了好的资料,不过中文资料实在是匮乏,好不容易找到的还存在很多问题,为了下次用到的时候少走弯路,做个笔记,记录一下。

试验中前端为Nginx,Lighttpd下也可以,可以根据需要调整。

具体情况如下:

服务器三台,都具有两块网卡,分别为A、B、C,内网IP地址分别是192.168.0.1,192.168.0.2,192.168.0.3。A运行Nginx作为前端,B、C主要分担运算压力。
数据库部分不予考虑。
系统: CentOS 5.5 64位
Nginx:0.6以后的所有版本都适用。
PHP: 版本5.2.14,使用同一份编译,分别复制到每台服务器上。
网站目录:/www/lcuc/web

一、修改fpm配置

默认情况下fpm监听在 127.0.0.1:9000 并且只允许来自本机的连接。为了能让其它机器访问,需要修改 php-fpm.conf中的配置。
注意:php 5.3.3已经默认集成了fpm并使用ini文件方式进行配置,请注意区分。

<value name="listen_address">192.168.0.2:9000</value>

修改监听端口,注意这里要修改为每台服务器内网IP。

<value name="allowed_clients">192.168.0.1,192.168.0.2,192.168.0.3</value>

允许调用的服务器ip,使用英文逗号隔开。
然后重启php-fpm。

 

二、同步php文件

fastcgi负载均衡的时候每次执行的php只能是本地的,所以务必保存程序放置的路径,权限等要一致。
可以使用自己的方法进行同步,rsync、NFS、samba选择合适自己的行。
我使用的是NFS方案,文件集中存储。还可以把session放在NFS上,实现session共享。

三、配置nginx

在http段加入,如果机器性能不均衡可以调整weight,数值越大,分配的请求越多。

upstream fastcgi {
server 192.168.0.1:9000 weight=1;
server 192.168.0.2:9000 weight=2;
server 192.168.0.3:9000 weight=2;
}

虚拟机设置部分注意/www/lcuc/web这个地址其实是替换的变量$document_root,需要替换为实际地址,

location ~ .*\.php$ {
fastcgi_pass fastcgi;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/lcuc/web$fastcgi_script_name;
include fastcgi.conf;
}

 

OK,搞定,重启nginx生效。

转载于:https://www.cnblogs.com/in-loading/archive/2012/03/29/2422891.html

你可能感兴趣的文章
C#文件和文件文件夹按时间、名称排序-顺序与倒序
查看>>
表达式的计算结果必须为节点集。
查看>>
法外之徒第一季/全集Braquo迅雷下载
查看>>
TMPFS详解
查看>>
《Servlet、JSP和Spring MVC初学指南》——第2章 会话管理 2.1URL重写
查看>>
Docker 之 构建镜像
查看>>
《微信小程序开发入门精要》——第2章,第2.5节水平排列对齐方式
查看>>
《异构信息网络挖掘: 原理和方法》—— 第2章 基于排名的聚类 2.1 概述
查看>>
[案例]网易云音乐的个性化推荐
查看>>
《QTP自动化测试权威指南(第二版)》—第2章2.3节搜索标签(Search Tab)
查看>>
数据结构
查看>>
Spring Boot 性能优化
查看>>
王亟亟的Python学习之路(10)-函数对象的作用域,函数作为返回值,闭包
查看>>
获取Android签名证书的公钥和私钥
查看>>
【hibernate框架】一对一双向外键关联(Annotation实现)
查看>>
HTML网页禁止鼠标操作脚本
查看>>
Android热修复简单总结
查看>>
K8S 生态周报| 2019.04.08~2019.04.14
查看>>
CSS 火焰?不在话下
查看>>
git 遇到The remote end hung up unexpectedly
查看>>