Nginx反向代理和负载均衡部署指南
nginx不单能够作为强大的webserver,也能够作为一个反向代理server,并且nginx还能够依照调度规则实现动态、静态页面的分离。能够依照轮询、ip哈希、URL哈希、权重等多种方式对后端server做负载均衡,同一时候还支持后端server的健康检查。
假设仅仅有一台server时,这个server挂了,那么对于站点来说是个灾难.因此。这时候的负载均衡就会大显身手了,它会自己主动剔除挂掉的server.
Nginx负载均衡一些基础知识:
nginx 的 upstream眼下支持 4 种方式的分配
1)、轮询(默认)
每一个请求按时间顺序逐一分配到不同的后端server,假设后端serverdown掉。能自己主动剔除。
2)、weight
指定轮询几率。weight和訪问比率成正比,用于后端server性能不均的情况。2)、ip_hash
每一个请求按訪问ip的hash结果分配,这样每一个訪客固定訪问一个后端server,能够解决session的问题。
3)、fair(第三方)
按后端server的响应时间来分配请求。响应时间短的优先分配。
4)、url_hash(第三方)
下面是详细使用步骤:
1. 安装
1) 从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本号(眼下是1.5.13版本号)安装包。
2) 解压后拷贝到部署文件夹。
2. 启动和停止Nginx
Nginx眼下仅仅支持命令行操作,操作前先进入Dos命令环境,并进入Nginx部署文件夹。
1) 启动Nginx:start nginx
2) 停止Nginx:nginx -s stop
3) 改动配置后重新启动:nginx -s reload
这三个命令可分别做成bat文件,放在部署文件夹下,方便兴许操作。
start nginx.bat文件内容:start nginx
stop nginx.bat文件内容:nginx -s stop
reload nginx.bat文件内容:nginx -s reload
3. 反向代理配置
改动部署文件夹下conf子文件夹的nginx.conf文件(如nginx-1.5.13\conf\nginx.conf)内容,可调整相关配置。
反向代理配置演示样例:
location / {
#设置主机头和client真实地址,以便server获取client真实IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#禁用缓存
proxy_buffering off;
#设置反向代理的地址
proxy_pass http://192.168.1.1;
}
代理地址依据实际情况改动。
4. 负载均衡配置
nginx 的 upstream默认是以轮询的方式实现负载均衡,这样的方式中,每一个请求按时间顺序逐一分配到不同的后端server,假设后端serverdown掉。能自己主动剔除。
第二种方式是ip_hash:每一个请求按訪问ip的hash结果分配,这样每一个訪客固定訪问一个后端server,能够解决session的问题。
负载均衡配置演示样例:
upstream backend {
#ip_hash;
server 192.168.1.251;
server 192.168.1.252;
server 192.168.1.247;
}
server {
listen 80;
server_name trffweb;
location / {
#反向代理的地址
proxy_pass http://backend;
}
}
Upstream命名和server地址依据实际情况改动。
5. 完整配置演示样例
nginx.conf:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream backend {
#ip_hash;
server 192.168.1.251;
server 192.168.1.252;
server 192.168.1.247;
}
server {
listen 80;
server_name 2;
location / {
#设置主机头和client真实地址,以便server获取client真实IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#禁用缓存
proxy_buffering off;
#反向代理的地址
proxy_pass http://backend;
}
}
}
Nginx反向代理和负载均衡部署指南相关推荐
- Nginx反向代理,负载均衡,redis session共享,keepalived高可用
本站点停止更新,请访问:blog.coocap.com 相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tom ...
- 【转】Nginx反向代理和负载均衡
原文链接:http://www.cnblogs.com/shuoer/p/7820899.html Nginx反向代理和负载均衡 环境说明 由于我使用的是windows系统,所以我用虚拟机虚拟出来了3 ...
- 基于Nginx反向代理及负载均衡
基于Nginx反向代理及负载均衡 参考:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass 只要没有被启用,默认就是 ...
- Nginx反向代理与负载均衡应用实践(二)
Nginx反向代理与负载均衡应用实践(二) 链接:https://pan.baidu.com/s/1xB20bnuanh0Avs4kwRpSXQ 提取码:migq 复制这段内容后打开百度网盘手机App ...
- nginx反向代理及负载均衡使用详解
nginx反向代理及负载均衡使用说明 文章目录 nginx反向代理及负载均衡使用说明 集群介绍 负载均衡架构图 为什么要使用集群 集群种类 负载均衡概念说明 压力测试 反响代理概念说明 反向代理图解 ...
- 从0开始,在Linux中配置Nginx反向代理、负载均衡、session共享、动静分离
写这篇文章花费了我近一周的时间,参考网上许多优秀的博客文章,我不敢说写的很好,至少很全很详细.本文先介绍原理部分,然后再进行实战操作,我认为这样才会有更深的理解,不过这也导致了文章篇幅很长.但是,如果 ...
- 懂点 Nginx 反向代理与负载均衡,是面试加分项没有之一
点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 学到老活到老 前端圈一直很新,一直要不停的学习,而且在进入大厂的路上,还要求熟悉一门后台语言等等 ...
- nginx ------反向代理和负载均衡
nginx ------反向代理和负载均衡 最近由于公司的业务增长 服务器承受不住压力经常出现崩溃现象 为了解决 使用nginx的负载均衡解决,以下是操作步骤: 1.nginx 的负载均衡:将压力分散 ...
- Nginx反向代理与负载均衡等配置文件示例
Nginx反向代理于负载均衡等配置文件示例 Nginx.conf配置文件 worker_processes 8;events {worker_connections 1024; }http {incl ...
最新文章
- 如何开始SLAM学习?
- Atitit r2017 r6 doc list on home ntpc.docx
- Java入门教程五(数字和日期处理)
- 中科大量子计算机重大突破,中国科大在量子计算研究中获重大突破
- Spring MVC中Session的正确用法之我见02
- C# 获取FormData数据
- js遍历 for-of
- 更改配置:远程访问gitlab的postgresql数据库
- C# combobox SelectedText值为空
- php session位置,关于PHP中Session文件过多的问题及session文件保存位置
- 中国无人车第一案剧情突变:景驰投入百度Apollo怀抱,下周或和解收场
- 二叉树前序中序后序javascript_详解二叉树遍历(前序、中序、后序、层次遍历、深度优先、广度优先)...
- 获取文本上每个字符出现的次数并保留在map中,再将map中的数据写入文件
- 关于最近几次给客户做系统 DEMO的感悟总结
- 怎么进入本地组策略编辑器
- 反算坐标方位角小程序(c#)
- android back键不退出程序,Android按back键不退出当前Activity
- 特征值 是 系数行列式等于0时的 解
- U8接口开发-五大方式对比与剖析
- 计算机的配置是指什么,现在电脑主流配置是什么?
热门文章
- 最小二乘法和梯度下降法有哪些区别?
- 大数据分布式集群搭建(1)
- ASP .NET Core Web MVC系列教程三:添加视图
- Linux: debian/ubuntu下安装Neo4j
- php多个域名301重定向到主域名代码,Nginx 301和apache重定向域名规则方法(多个域名,单个域名)...
- ios键盘done中文_关于IOS键盘的一些调用心得与坑
- matlab 将图片立体化,MATLAB基础(五)——绘制立体图
- 【每日一题】二分查找
- 三相四线怎样查漏电_制冷机组三相四线与三相五线有什么区别?
- linux 多线程聚集写程序,Linux篇二:Makefile写多线程多文件程序-Go语言中文社区...