应用的服务器分为前端和后端

  前端服务器: 负责对静态文件(比如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进行分摊)的更多相关文章

  1. Nginx负载均衡实践之一:基本实现

    由于现在的网站架构越来越大,基于互联网的用户也是日渐增长,所以传统的单机版服务器已经渐渐不能适应时代发展的需要.最近在和其他企业接触的过程中,发现对于互联网的经验尤为看重,所谓的互联网经验,其实就是指 ...

  2. Nginx 负载均衡和反向代理实践

    nginx 以哪个配置文件启动 Nginx 负载均衡和反向代理实践 环境介绍 192.168.1.50    在这台主机上配置Nginx 的反向代理,负载均衡,和web1,web1使用的81号端口 1 ...

  3. 搞懂分布式技术9:Nginx负载均衡原理与实践

    搞懂分布式技术9:Nginx负载均衡原理与实践 本篇摘自<亿级流量网站架构核心技术>第二章 Nginx负载均衡与反向代理 部分内容. 当我们的应用单实例不能支撑用户请求时,此时就需要扩容, ...

  4. Nginx负载均衡 后端服务器怎么共享Session 问题

    Nginx负载均衡 Nginx负载均衡一些基础知识: nginx 的 upstream目前支持 4 种方式的分配 1).轮询(默认)       每个请求按时间顺序逐一分配到不同的后端服务器,如果后端 ...

  5. Nginx负载均衡深入浅出

    nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态.静态页面的分离,可以按照轮询.ip哈希.URL哈希.权重等多种方式对后端服务器做负载均 ...

  6. Nginx负载均衡介绍

    Nginx真心牛逼 nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态.静态页面的分离,可以按照轮询.ip哈希.URL哈希.权重等多种方式 ...

  7. nginx负载均衡 - session失效

    最近迷上了Nginx,真实麻雀虽小,五脏俱全..功能实在强大.. nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态.静态页面的分离,可以 ...

  8. 利用Docker快速创建Nginx负载均衡节点

    本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws 一.Self-Host Kestrel 1. 在vs2017中新建dotnet core2. ...

  9. Nginx负载均衡配置简单配置方法

    http://www.jb51.net/article/121235.htm Nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至不同的Web服务器.下面通过 ...

  10. 使用Docker快速创建.Net Core2.0 Nginx负载均衡节点

    本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws 一.Self-Host Kestrel 1. 在vs2017中新建dotnet core2. ...

随机推荐

  1. 1.1(SQL学习笔记)SQL基础

    一.SELECT 建表及数据填充语句下载:链接: https://pan.baidu.com/s/1WHYafwqKJEKq1kDwCH_Zlg 提取码: 3wy4 SELECT用于指定检索返回的结果 ...

  2. http请求 url 传递参数(特殊字符)解决方法

    有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.下表中列出了一些URL特殊符号及编码       十六进制值 1. + URL 中+号表示空格 %2B ...

  3. 通过scrapy内置的ImagePipeline下载图片到本地、并提取本地保存地址

    1.通过scrapy内置的ImagePipeline下载图片到本地 2.获取图片保存本地的地址 1.通过scrapy内置的ImagePipeline下载图片到本地 1)在settings.py中打开  ...

  4. [转]currentStyle和getComputedStyle的兼容写法

    currentStyle:获取计算后的样式,也叫当前样式.最终样式. 优点:可以获取元素的最终样式,包括浏览器的默认值,而不像style只能获取行间样式,所以更常用到. 注意:不能获取复合样式如bac ...

  5. fedora19/opensuse13.1 配置svn client

    Date: 20140208Auth: Jin 一.install zypper install  subversion yum install  subversion 二.操作 1.将文件check ...

  6. HMAC的JAVA实现和应用

    1.简介: HMACSHA1 是从SHA1 哈希函数构造的一种键控哈希算法,被用作 HMAC(基于哈希的消息验证代码). 此 HMAC 进程将密钥与消息数据混合,使用哈希函数对混合结果进行哈希计算,将 ...

  7. Java并发包之闭锁/栅栏/信号量

    二.同步工具类详解 1.Semaphore信号量:跟锁机制存在一定的相似性,semaphore也是一种锁机制,所不同的是,reentrantLock是只允许一个线程获得锁,而信号量持有多个许可(per ...

  8. 【web.xml】报错java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

    今天搭建新的项目,虽然在web.xml中配置了ContextLoaderListener以及IntrospectorCleanupListener 如下: web.xml中部分代码: <!-- ...

  9. 万里长征第二步——django个人博客(第五步 ——配置后台admin)

    在urls.py文件中配置admin路径 from django.conf.urls import url from django.contrib import admin from blog.vie ...

  10. [转]SQL Server 2005 Integration Services (SSIS) (3) - Business Intelligence Development Studio

    本文转自:http://blog.csdn.net/me_online/article/details/1546281 三,SQL Server Integration Services 开发环境– ...