Nginx-负载均衡实践(一、对PHP-FPM进行分摊)
应用的服务器分为前端和后端
前端服务器: 负责对静态文件(比如JS、CSS、图片)等的响应, 以及把PHP请求分发到后端服务器
后端服务器: 处理前端服务器分发而来的PHP请求
前端服务器: 192.168.1.10
后端服务器: 192.168.1.11, 192.168.1.12
后端服务器的配置:
两台后端服务器分别配置 php-fpm 的监听得之和端口, 可以通过修改php-fpm.conf或对应php-fpm配置文件来修改监听地址和端口
由于是 php-fpm, 所以配置如下
192.168.1.11 服务器中php-fpm的配置信息
listen=192.168.1.11:
192.168.1.12 服务器中php-fpm的配置信息
listen=192.168.1.12:
修改完后重启两台服务器的 php-fpm
前端服务器的配置:
#其中 "blog" 表示随意起的一个 upstream 的名称, 下文要用, 此块用来设置后端服务器
upstream blog {
server 192.168.1.11: weight=; #192.168.1.11:9000为后端服务器192.168.1.11的php-fpm进程监听的地址和端口
server 192.168.1.12: weight=; #192.168.1.12:9000为后端服务器192.168.1.12的php-fpm进程监听的地址和端口
} server {
listen ;
server_name blog.yilexun.com;
root /dragon/webapp/blog;
index index.html index.php; location ~* \.(ico|css|js|gif|jpe?g|png)$ {
#error_page /.html;
break;
}
if (!-e $request_filename) {
rewrite ^(.*)\.(ico|css|js|gif|jpe?g|png)$ /.html last;
rewrite ^(.+)$ /index.php last;
break;
}
location ~* \.php(\?|\/)? {
fastcgi_pass_request_body off;
fastcgi_split_path_info ^(.+\.php)(.*)$;
client_body_in_file_only clean;
client_max_body_size 8m;
fastcgi_param REQUEST_BODY_FILE $request_body_file;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass blog; #此处 "blog" 就是上面定义的 upstream 的名称
fastcgi_index index.php;
}
location = /50x.html {
root html;
}
}
配置完后重启 nginx
分别在前端服务器和后端服务器上都要上传相同的目录文件, 我的实验结果是虽然用后端服务器解析PHP文件, 但是前后端服务器都必须有对应的PHP文件目录
/dragon/webapp/blog/
index.php
<?php
echo '前端'; //三台服务器分别为 '前端', '后端1', '后端2'
访问 http://blog.yilexun.com/index.php, 每次刷新可以看到输出结果在'前端', '后端1', '后端2', 中不断变化, 表示配置成功
接下来会继续实现 nginx 服务器间的负载均衡, 敬请期待。。
Nginx-负载均衡实践(一、对PHP-FPM进行分摊)的更多相关文章
- Nginx负载均衡实践之一:基本实现
由于现在的网站架构越来越大,基于互联网的用户也是日渐增长,所以传统的单机版服务器已经渐渐不能适应时代发展的需要.最近在和其他企业接触的过程中,发现对于互联网的经验尤为看重,所谓的互联网经验,其实就是指 ...
- Nginx 负载均衡和反向代理实践
nginx 以哪个配置文件启动 Nginx 负载均衡和反向代理实践 环境介绍 192.168.1.50 在这台主机上配置Nginx 的反向代理,负载均衡,和web1,web1使用的81号端口 1 ...
- 搞懂分布式技术9:Nginx负载均衡原理与实践
搞懂分布式技术9:Nginx负载均衡原理与实践 本篇摘自<亿级流量网站架构核心技术>第二章 Nginx负载均衡与反向代理 部分内容. 当我们的应用单实例不能支撑用户请求时,此时就需要扩容, ...
- Nginx负载均衡 后端服务器怎么共享Session 问题
Nginx负载均衡 Nginx负载均衡一些基础知识: nginx 的 upstream目前支持 4 种方式的分配 1).轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端 ...
- Nginx负载均衡深入浅出
nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态.静态页面的分离,可以按照轮询.ip哈希.URL哈希.权重等多种方式对后端服务器做负载均 ...
- Nginx负载均衡介绍
Nginx真心牛逼 nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态.静态页面的分离,可以按照轮询.ip哈希.URL哈希.权重等多种方式 ...
- nginx负载均衡 - session失效
最近迷上了Nginx,真实麻雀虽小,五脏俱全..功能实在强大.. nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态.静态页面的分离,可以 ...
- 利用Docker快速创建Nginx负载均衡节点
本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws 一.Self-Host Kestrel 1. 在vs2017中新建dotnet core2. ...
- Nginx负载均衡配置简单配置方法
http://www.jb51.net/article/121235.htm Nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至不同的Web服务器.下面通过 ...
- 使用Docker快速创建.Net Core2.0 Nginx负载均衡节点
本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws 一.Self-Host Kestrel 1. 在vs2017中新建dotnet core2. ...
随机推荐
- BZOJ 4031 [HEOI2015]小Z的房间(Matrix-Tree定理)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4031 [题目大意] 你突然有了一个大房子,房子里面有一些房间. 事实上,你的房子可以看 ...
- [AGC012E]Camel and Oases
题意:有$n$个数轴上的绿洲,给定它们的坐标,有一只骆驼想要访问所有绿洲,当它的驼峰容量为$V$时,它可以走到和当前绿洲距离$\leq V$的绿洲,并可以继续走,它也可以用一次跳跃到达任意一个绿洲,只 ...
- 【构造】AtCoder Regular Contest 079 F - Namori Grundy
对每个点的取值都取最小的可能值. 那个图最多一个环,非环的点的取值很容易唯一确定. 对于环上的点v,其最小可能取值要么是mex{c1,c2,...,ck}(ci这些是v直接相连的非环点)(mex是). ...
- iOS 在系统设置中展示Version, Build, Git等信息
在设置中,展示自定义内容,如下图INFO区域内容: 步骤: 1.在项目中添加Settings.bundle文件 Root.plist和Root.plist的Source code如下 ...
- Integer引用类型问题
public class TestMain { public static void main(String[] args) { Integer integer = 2; go(2); System. ...
- 给ul下的li加click时间
$('.province ul li').click(function() {//方法 });
- OSC的原理
OSC是Online Schema Change简写,即在线架构改变.其实现步骤: 1. init,即初始化阶段,会对创建的表做一些验证工作,如检查表是否有主键,是否存在触发器或者外键等.2. cre ...
- 二十四种设计模式:桥接模式(Bridge Pattern)
桥接模式(Bridge Pattern) 介绍将抽象部分与它的实现部分分离,使它们都可以独立地变化. 示例有一个Message实体类,对它的操作有Insert()和Get()方法,现在使这些操作的抽象 ...
- android使用C/C++调用SO库
有时候,我们反编译apk得到一个so库,如果直接使用这个so库的话,必须使用原来so库同样的package名字,才能用.这样人家反编译你的apk,就知道你侵犯了人家的版权.为了达到混淆的目的,我们可以 ...
- OTL调用存储过程/函数及注意事项
OTL 是 Oracle, Odbc and DB2-CLI Template Library 的缩写,是一个 C++ 编译中操控关系数据库的模板库,它目前几乎支持所有的当前各种主流数据库. OTL ...