代理我们往往并不陌生, 该服务我们常常用到如(代理租房、代理收货等等)
那么在互联网请求里面, 客户端无法直接向服务端发起请求, 那么就需要用到代理服务, 来实现客户端和服务通信
<code>nginx</code>作为代理服务可以实现很多的协议代理, 我们主要以<code>http</code>代理为主
正向代理(内部上网) 客户端<-->代理->服务端
反向代理 客户端->代理<-->服务端
<code>正向与反向代理的区别</code>
1.<code>nginx</code>代理配置语法
2.<code>url</code>跳转修改返回<code>location</code>[不常用]参考<code>url</code>
3.添加发往后端服务器的请求头信息
4.代理到后端的tcp连接、响应、返回等超时时间
5.proxy_buffer代理缓冲区
6.proxy代理网站常用优化配置如下,将配置写入新文件,调用时使用include引用即可
代理的location如何进行调用
2.后端真是提供web服务配置
<code>web</code>服务器,直接面向用户,往往要承载<code>大量并发请求</code>,单台服务器<code>难以负荷</code>,我使用多台<code>web</code>服务器组成<code>集群</code>,前端使用<code>nginx``负载均衡</code>,将请求<code>分散</code>的打到我们的后端服务器集群中,实现<code>负载的分发</code>。那么会大大提升系统的<code>吞吐率、请求性能、高容灾</code>
负载均衡按层划分应用场景: 四层负载均衡
负载均衡按层划分应用场景: 七层负载均衡, nginx最常用
<code>nginx</code>实现负载均衡需要用到<code>proxy_pass</code>代理模块配置.
<code>nginx</code>负载均衡是将客户端请求代理转发至一组<code>upstream</code>虚拟服务池
nginx upstream虚拟配置语法
1.web服务上创建对应html文件
2.建立对应的releserver.conf配置文件
3.配置nginx负载均衡
后端<code>web</code>服务器在前端<code>nginx</code>负载均衡调度中的状态
1.测试<code>down</code>状态, 测试该<code>server</code>不参与负载均衡的调度
2.测试backup以及down状态
1.<code>nginx</code>负载均衡<code>[wrr]</code>轮询具体配置
2.nginx负载均衡[weight]权重轮询具体配置
3.nginx负载均衡ip_hash具体配置, 不能和weight一起使用。
配置nginx4层负载均衡实现如下需求
nginx四层负载均衡示例
实践nginx四层负载均衡
动静分离,通过中间件将动态请求和静态请求进行分离, 分离资源, 减少不必要的请求消耗, 减少请求延时。
好处: 动静分离后, 即使动态服务不可用, 但静态资源不会受到影响
通过中间件将动态请求和静态请求分离
0.环境准备
1.在10.0.0.7服务器上配置静态资源
2.在10.0.0.8服务器上配置动态资源
3.在负载均衡10.0.0.5上配置调度, 实现访问jsp和png
4.通过负载测试访问静态资源
5.通过负载测试访问动态资源
6.在负载均衡10.0.0.5上整合动态和静态资源的html文件
7.测试动态和静态资源是否能正常加载在一个html文件中
8.当使用systemctl stop nginx停止nginx后, 会发现静态内容无法访问, 动态内容依旧运行正常
9.当使用systemctl stop tomcat停止tomcat后, 静态内容依旧能正常访问, 动态内容将不会被请求到
根据不同的浏览器, 以及不同的手机, 访问的效果都将不一样。
根据访问不同目录, 代理不同的服务器