负载均衡:针对web负载均衡简单的说就是将请求通过负债均衡软件或者负载均衡器将流量分摊到其它服务器。

负载均衡的分类如下图:

今天分享一下nginx实现负载均衡的实现,操作很简单就是利用了nginx的反向代理和upstream实现:

服务器名称 地址 作用
A服务器 192.168.0.212 负载均衡服务器
B服务器 192.168.0.213 后端服务器
C服务器 192.168.0.215 后端服务器

A服务器nginx配置如下:

 upstream apiserver {
server 192.168.0.213: weight= max_fails= fail_timeout=;
server 192.168.0.215: weight= max_fails= fail_timeout=;
} server {
listen ;
server_name api.test.com; location / {
proxy_pass http://apiserver; } location ~ /\.ht {
deny all;
}
}

B服务器配置如下:

 server {
listen ;
server_name 192.168.0.213;
set $root_path '/data/wwwroot/Api/public/';
root $root_path;
index index.php index.html index.htm;
access_log /data/wwwlogs/access_log/api..log;
try_files $uri $uri/ @rewrite;
location @rewrite {
rewrite ^/(.*)$ /index.php?_url=/$;
} location ~ \.php {
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
include /usr/local/nginx/conf/fastcgi_params;
fastcgi_param PHALCON_ENV dev;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

C服务器配置如下:

server {
listen ;
server_name 192.168.0.215;
set $root_path '/data/wwwroot/Api/public/';
root $root_path;
index index.php index.html index.htm;
access_log /data/wwwlogs/access_log/api..log;
try_files $uri $uri/ @rewrite;
location @rewrite {
rewrite ^/(.*)$ /index.php?_url=/$;
} location ~ \.php {
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
include /usr/local/nginx/conf/fastcgi_params;
fastcgi_param PHALCON_ENV dev;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

到期负载均衡搭建完成,测试的可以访问搭建的域名地址,然后在对应的后端服务器打印access的log日志进行查看请求是否在轮询服务器。

思考:负载均衡搭建是搭建成功了,但是也有问题

1.这样的架构会出现session无法共享的问题?

2.如果其中有一台后端服务器宕机了怎么处理?

这些问题后面会有文章进行说明

.

nginx搭建负载均衡的更多相关文章

  1. Nginx搭建负载均衡集群

    (1).实验环境 youxi1 192.168.5.101 负载均衡器 youxi2 192.168.5.102 主机1 youxi3 192.168.5.103 主机2 (2).Nginx负载均衡策 ...

  2. Windows环境下使用Nginx搭建负载均衡

    前言 最近没有什么事情,喜欢总结并学习东西!前几天写来一个Session共享,那么我们为什么需要Session共享?因为我们的应用程序分布在多个服务器上,为了合理分配用户的请求,就需要用到负载均衡技术 ...

  3. keepalived + nginx 搭建负载均衡集群

    第一章 keepalived 1.1 keepalived 服务说明 Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现 ...

  4. node + nginx + mongo搭建负载均衡

    基于node和nignx和mongo搭建负载均衡 nginx配置: upstream back {                                                  # ...

  5. 在Windows环境中使用Nginx, Consul, Consul Template搭建负载均衡和服务发现服务

    搭建负载均衡和服务发现服务的目的 随着网站业务的不断提升,单个服务器的性能越来越难满足客户的业务需求,所以很多情况下,需要使用多服务器实例和负载均衡器来满足业务需要. Nginx 什么是Nginx N ...

  6. CentOS安装nginx以及负载均衡的搭建

    依赖环境,没有安装的需要安装一下 yum install gcc yum install pcre-devel yum install zlib zlib-devel yum install open ...

  7. 使用 Nginx + Tomcat 搭建负载均衡

    负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性. 负载均衡,英文名称为Load Balance, ...

  8. Nginx简单介绍以及linux下使用Nginx进行负载均衡的搭建

    1.Nginx简介 Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5 ...

  9. linux+nginx+tomcat负载均衡,实现session同步

    linux+nginx+tomcat负载均衡,实现session同步 花了一个上午的时间研究nginx+tomcat的负载均衡测试,集群环境搭建比较顺利,但是session同步的问题折腾了几个小时才搞 ...

随机推荐

  1. js设计模式-观察者模式

    定义: 观察者模式又叫发布订阅模式,它定义了对象间的一种一对多的依赖关系.观察者模式让两个对象松耦合地联系在一起,虽然不太清楚彼此的细节,但这不影响他们之间的互相通信. 思路 定义一个对象,在对象中实 ...

  2. Openwrt Support MINI-PCIE EC20 (6)

    1      Scope of Document This document describes MINI PCIE usb hardware design, for EC20 4G module 2 ...

  3. jsonp 跨域1

    今天上课学到了jsonp,看了理解,还需要多敲,代码贴出来看看 <!doctype html> <html> <head> <meta charset=&qu ...

  4. C#几种截取字符串的方法(split 、Substring、Replace、remove)

    C#截图字符串常用的方法有 split .Substring.Replace.remove等. split的使用: 1. Split( Char ()) 返回的字符串数组包含此实例中的子字符串(由指定 ...

  5. 传递数据后创建后台service来处理事件!

    package com.lixu.service; import android.app.Service; import android.content.Intent; import android. ...

  6. Java——IO类,字节流读数据

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  7. docker容器,镜像常用操作

    1.查看正在运行的容器 docker ps 查看所有容器 docker ps -a 2.查看容器日志 docker logs -f showdoc 3.删除所有容器 docker rm $(docke ...

  8. SpringContextUtil spring上下文获取工具类

    package com.midea.biz; import org.springframework.beans.BeansException; import org.springframework.c ...

  9. mysql 试图

    关系型数据库中的数据是由一张一张的二维关系表所组成,简单的单表查询只需要遍历一个表,而复杂的多表查询需要将多个表连接起来进行查询任务.对于复杂的查询事件,每次查询都需要编写MySQL代码效率低下.为了 ...

  10. android短彩信附件机制

    将一些认识写下来,和大家交流一下,同时也方便自己复习. 用户可以通过附件按钮,添加附件.以添加幻灯片为例: 如果点击幻灯片,会走如下代码: ComposeMessageActivity.java pr ...