nginx搭建负载均衡
负载均衡:针对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搭建负载均衡的更多相关文章
- Nginx搭建负载均衡集群
(1).实验环境 youxi1 192.168.5.101 负载均衡器 youxi2 192.168.5.102 主机1 youxi3 192.168.5.103 主机2 (2).Nginx负载均衡策 ...
- Windows环境下使用Nginx搭建负载均衡
前言 最近没有什么事情,喜欢总结并学习东西!前几天写来一个Session共享,那么我们为什么需要Session共享?因为我们的应用程序分布在多个服务器上,为了合理分配用户的请求,就需要用到负载均衡技术 ...
- keepalived + nginx 搭建负载均衡集群
第一章 keepalived 1.1 keepalived 服务说明 Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现 ...
- node + nginx + mongo搭建负载均衡
基于node和nignx和mongo搭建负载均衡 nginx配置: upstream back { # ...
- 在Windows环境中使用Nginx, Consul, Consul Template搭建负载均衡和服务发现服务
搭建负载均衡和服务发现服务的目的 随着网站业务的不断提升,单个服务器的性能越来越难满足客户的业务需求,所以很多情况下,需要使用多服务器实例和负载均衡器来满足业务需要. Nginx 什么是Nginx N ...
- CentOS安装nginx以及负载均衡的搭建
依赖环境,没有安装的需要安装一下 yum install gcc yum install pcre-devel yum install zlib zlib-devel yum install open ...
- 使用 Nginx + Tomcat 搭建负载均衡
负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性. 负载均衡,英文名称为Load Balance, ...
- Nginx简单介绍以及linux下使用Nginx进行负载均衡的搭建
1.Nginx简介 Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5 ...
- linux+nginx+tomcat负载均衡,实现session同步
linux+nginx+tomcat负载均衡,实现session同步 花了一个上午的时间研究nginx+tomcat的负载均衡测试,集群环境搭建比较顺利,但是session同步的问题折腾了几个小时才搞 ...
随机推荐
- 线程正常终止pthread_exit,pthread_join,pthread_kill,pthread_cancel,sigwait,sigaddset
int pthread_join(pthread_t thread, void **retval); int pthread_detach(pthread_t thread); void pthrea ...
- POJ 2406 KMP 循环节
给一个字符串.求这个串的最小的循环节的长度. 好像.num = len/(len-next[len]) 就是循环节的长度.如果 len%(len-next[len]) ==0 就是 说字符串长度刚好是 ...
- python3.6 连接mysql数据库
==================pymysql=================== 由于 MySQLdb 模块还不支持 Python3.x,所以 Python3.x 如果想连接MySQL需要安装 ...
- Pycharm(五)安装库和虚拟环境
随便进入一个项目 进入设置 Ctrl + alt + S Project ********* - Project Interpreter ******是你的项目名字 Project I ...
- vmware Esxi 回收Thin模式磁盘空间
本文来自:https://blog.csdn.net/happyfreeangel/article/details/85075179 第一部分 回收Thin模式磁盘空间背景:在使用Thin模式的磁盘, ...
- Linux:centos内核升级
centos内核升级 centos升级2.6内核到3.10 在yum的ELRepo源中,有 m ain l ine(3.13.1). l ong- t erm(3.10.28)这2个内核版本,long ...
- PAT 列车厢调度 (25分)(栈和容器的简单应用)
1 ====== <--移动方向 / 3 ===== \ 2 ====== -->移动方向 大家或许在某些数据结构教材上见到过“列车厢调度问题”(当然没见过也不要紧).今天,我们就来实际操 ...
- Android 引入外部模块编译选择
/********************************************************************************* * Android 引入外部模块编 ...
- TJU Problem 1090 City hall
注:对于每一横行的数据读取,一定小心不要用int型,而应该是char型或string型. 原题: 1090. City hall Time Limit: 1.0 Seconds Memory ...
- 一年内自学MIT的33门课? 疯狂学习有方法
[导读]能快速掌握复杂信息,对成就卓越事业至关重要.ScottYoung的学习过程不只适用于学生,同样有助于学习复杂技能的专业知识. 能快速掌握复杂信息,对成就卓越事业至关重要.ScottYoung的 ...