博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx反向代理和负载均衡的配置
阅读量:6075 次
发布时间:2019-06-20

本文共 1231 字,大约阅读时间需要 4 分钟。

1、反向代理配置

反向代理也称“动静分离”,nginx不自己处理图片的相关请求,而是把图片的请求转发给其他服务器来处理.

修改nginx部署目录下conf子目录的nginx.conf文件:

加到server{}中

location ~ \.(jpg|jpeg|png|gif)$ {        proxy_pass HTTP://IP:port;}

反向代理导致了后端服务器接到的客户端IP,为前端服务器的IP,而不是客户真正的IP,怎么办?

答: 代理服务器通过设置头信息字段,把用户IP传到后台服务器去.

location ~ \.(jpg|jpeg|png|gif)$ {        proxy_set_header X-Forwarded-For $remote_addr;        proxy_pass IP:port;}

这样图片资源即可从另外一台服务器获取

 

2、反向代理+负载均衡

nginx 的 upstream默认是以轮询的方式实现负载均衡,这种方式中,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

1:配置upstream

upstream imageserver {    server 192.168.1.204:8080 weight=1 max_fails=2 fail_timeout=30s;    server 192.168.1.204:8081 weight=1 max_fails=2 fail_timeout=30s;}

weight:权重,如果两台服务器都是1则是1:1分配,一个1一个2则是1:2分配

max_fails :允许请求失败的次数默认为2.当超过最大次数时,返回proxy_next_upstream 模块定义的错误 

fail_timeout:max_fails次失败后,暂停的时间

2: 下游调用

location ~ \.(jpg|jpeg|png|gif)$ {        proxy_set_header X-Forwarded-For $remote_addr;        proxy_pass http://imageserver;}

Upstream命名和服务器地址根据实际情况修改。

另外一种方式是ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 

upstream imageserver {    iphash    server 192.168.1.204:8080  max_fails=2 fail_timeout=30s;    server 192.168.1.204:8081  max_fails=2 fail_timeout=30s;}

 

转载于:https://www.cnblogs.com/lamp01/p/7400155.html

你可能感兴趣的文章
网站内容禁止复制解决办法
查看>>
Qt多线程
查看>>
我的友情链接
查看>>
Ubuntu12.04 编译android源代码及生成模拟器经历分享
查看>>
KVM网络桥接设置方法
查看>>
Puppet学习手册:Puppet Yum安装
查看>>
我的友情链接
查看>>
ansible学习记录
查看>>
网思科技校园网计费解决方案
查看>>
我的友情链接
查看>>
携程 Apollo分布式部署
查看>>
2017 Hackatari Codeathon B. 2Trees(深搜)(想法)
查看>>
单词统计
查看>>
输入一个数字计算圆的面积
查看>>
在Delphi中隐藏程序进程
查看>>
AngularJS PhoneCat代码分析
查看>>
maven错误解决:编码GBK的不可映射字符
查看>>
2016/4/19 反射
查看>>
SharePoint Wiki发布页面的“保存冲突”
查看>>
oracle 10g 数据库与客户端冲突导致实例创建无监听问题
查看>>