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

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

反向代理

  个人理解:反向代理的实际功能就是将监听到的指定端口和请求服务名,再通过location root 进行替换转向。

  另一种说明:当浏览器发送请求时,nginx内部映射到具体的文件夹下.给用户予以响应.这样的方式成为反向代理。

    

server {        #监听端口        listen       80;        server_name  image.jt.com;        #转向路径        location / {            root D:\\jtphoto;        }    }

说明:客户端发起了http://image.jt.com/images/.......请求,由Nginx监听到image.jt.com后并设置了location root为D://jtphoto时Nginx就会将 D://jtphoto 直接替换image.jt.com ,并会自动拼接路径,从而根据路径访问到指定的服务器。

 

负载均衡

当客户端发起多个请求时最终只会访问一台终端服务器,若有多台服务器时通过Nginx将请求进行分发转向到不同的服务器进行请求处理。

实现负载均衡有三种方式:

  1.轮询方式:(Nginx默认方式)

    对多台服务器进行循环访问。

    如有A、B、C三台服务器这时Nginx会将发来的请求进行分发,比如第一个请求先分发给A,再来一个请求分发给B,再来一个请求分发给C ... 如此循环分发下去,从而降低降每台服务器的访问压力到达均衡。

  2.权重方式:(对服务器配置weight 值)

    对多台服务器进行权重划分。意思就是将多台服务器进行主次访问顺序,将性能好的服务器设置成主要服务器,其它服务器为辅。

    weight 的值越高的服务器则被访问的几率就越高。

  upstream  jt{        server  127.0.0.1:8091 weight=7;        server  127.0.0.1:8092 weight=3;        server  127.0.0.1:8093 down;    }

  3.IPhash:

    根据不同人的访问IP进行服务器分配,Session黏着问题.

 

Nginx.conf配置反向代理和负载均衡:

1 http { 2     include       mime.types; 3     default_type  application/octet-stream; 4  5     server { 6         #监听端口 7         listen       80; 8         server_name  localhost; 9         10         #转向路径11         location / {12             #默认访问路径13             root   html;14             index  index.html index.htm;15         }16 17         error_page   500 502 503 504  /50x.html;18         location = /50x.html {19             root   html;20         }21 22         23     }24 25 26     #配置多台Tomcat服务器,默认采用轮询方式 27     #weight 的值为分配权重值(即访问的概率值)down:表示停用当前服务器28     upstream  jt{29         server  127.0.0.1:8091 weight=7;30         server  127.0.0.1:8092 weight=3;31         server  127.0.0.1:8093 down;32     33     }34     35     36     #配置图片服务器37     server {38         #监听端口39         listen       80;40         server_name  image.jt.com;41         42         #防止host请求头丢失43         proxy_set_header X-Forwarded-Host $host;44         proxy_set_header X-Forwarded-Server $host;45         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;46         47         #转向路径48         location / {49             root D:\\jtphoto;50         }51     }52     53     #配置后台访问路径  54     server {55         #监听端口56         listen       80;57         server_name  manage.jt.com;58         59         #防止host请求头丢失60         proxy_set_header X-Forwarded-Host $host;61         proxy_set_header X-Forwarded-Server $host;62         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;63         64         #转向路径65         location / {66             #jt代表负载均衡的名称67              proxy_pass   http://jt;68         }69     }70     71 72 }

 

转载于:https://www.cnblogs.com/tongxuping/p/7248445.html

你可能感兴趣的文章
shell script编程小结——附带实例
查看>>
在 Laravel 项目中使用 Glup 之 Laravel-Elixir
查看>>
Nginx、CGI、FastCGI、PHP-CGI、PHP-FPM处理流程
查看>>
Tornado 4.3文档翻译: web框架-RequestHandler和Application 类
查看>>
版本控制总结
查看>>
数字证书、公私钥小记
查看>>
客户端开发流程
查看>>
Javascript基础之-Promise
查看>>
报名 | 清华方圆系列之大数据分析与可视化报告会将于下周举办
查看>>
了解 php.ini
查看>>
异地容灾方案解析
查看>>
深入理解Vue的生命周期
查看>>
WPF's Style BasedOn
查看>>
.NET Core实战项目之CMS 第十章 设计篇-系统开发框架设计
查看>>
.NET服务安装、卸载、启动、停止、判断是否存在
查看>>
基于深度学习的推荐系统综述 (arxiv 1707.07435) 译文第一、二章
查看>>
自定义抖动表单
查看>>
vue的组件通信
查看>>
iOS开发之让列表滚回最顶端最佳实践
查看>>
让开发变得更简单 | 阿里云中间件推出全新开发者服务
查看>>