1.反向代理机制
1.1 反向代理说明
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率.
1.2 反向代理特点
1.用户不清楚访问的服务器到底是谁.
2.反向代理是服务器端代理. (保护了后端服务器数据)
1.3 反向代理的实际应用
用户不清楚真实的服务器到底是谁.
2 正向代理机制
2.1 正向代理介绍
是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
2.2 正向代理特点
1.用户向代理发送请求, 并且指定目标服务器.(用户清楚自己访问的服务器是谁)
2.正向代理是客户端代理 保护了用户的信息.
3.正向代理一般为了实现网络通信的.
3.Nginx
3.1 Nginx介绍
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
特点1: 占用内存少 不超过2M
特点2: 并发能力强 5万/秒 2-3万/秒
3.2 Nginx下载
下载地址:https://nginx.org/en/download.html
3.3 Ngix出现无法启动的问题解决方法
说明:nginx启动时会占用80端口.所以需要释放80资源.
步骤1: 查询 80端口被哪个进程占用
3.4 关于进程项说明
主进程: 主要提供反向代理服务的.
守护进程: 防止主进程意外关闭
3.5 nginx相关命令
1.启动nginx start nginx
2.nginx 重启 nginx -s reload -s 任务树
3.nginx停止 nginx -s stop
4.Nginx配置文件的属性介绍
4.1 反向代理入门案例
nginx conf配置文件属性
//nginx配置必须在http协议之内完成 否则不生效
http {
//每个server就是一个反向代理的服务
server {
//监听端口 一般都是80端口 几乎不改
listen 80;
//拦截用户请求的域名
server_name localhost;
//原理:将内容发送到浏览器之前,可以使用服务端包含(ssi)指令将文本,
// 图像或者是应用程序包含到网页中,例如:可以使用ssi包含页面
ssi on;
//配置反向代理 / 代表拦截所有请求
location / {
//root关键字 代表的是一个目录
root html;
//index关键字 默认的访问页面
index index.html index.htm;
}
}
}
4.2 为本地磁盘图片设置虚拟路径
//图片服务器配置
server {
listen 80;
server_name image.jt.com;
location / {
//反向代理目录
root D:/test/images;
}
}
图片回显流程图
4.3 编辑HOSTS文件
0).HOSTS文件作用
在本机实现了域名与IP地址映射关系.
1).路径2).编辑内容
# 配置
# IP 域名 映射关系
127.0.0.1 image.jt.com
127.0.0.1 manage.jt.com
127.0.0.1 www.jt.com
127.0.0.1 sso.jt.com
127.0.0.1 localhost
#bug 丢最后一个字母问题
5.集群实现
//配置后台管理系统 http://manage.jt.com:80
server {
//因为什么都没写所以监听 80
listen 80;
server_name manage.jt.com;
//实现反向代理映射请求
location / {
//映射请求路径要用 proxy_pass
proxy_pass http://jtTomcats;
}
}
//集群配置说明 upstream 集群
// 一.端口访问的方式(负载均衡)
// 1.轮询:根据配置文件的顺序依次访问
// 2.权重:要求让高性能的服务器(硬件设备),尽可能多的处理用户请求 (weight)
// 二.IPHASH策略
// 业务场景: 要求用户与服务器进行绑定
// 实际案例: 学生在线考试系统 登录之后 要求展现试卷. 如果考生意外退出,应该保留用户的考试信息.
upstream jtTomcats{
//ip_hash 绑定的服务器宕机之后会默认寻找下一个
ip_hash;
server 127.0.0.1:8081 weight=6;
server 127.0.0.1:8082 weight=3;
server 127.0.0.1:8083 weight=1;
}
5.1 负载均衡
1 轮询方式
说明: 根据配置文件的顺序依次访问
#集群配置说明 upstream 集群 1.轮询
upstream jtTomcats {
server 127.0.0.1:8081;
server 127.0.0.1:8082;
server 127.0.0.1:8083;
}
2 权重方式
应用场景: 要求让高性能的服务器(硬件设备),尽可能多的处理用户请求.
#集群配置说明 upstream 集群 1.轮询 2.权重
upstream jtTomcats {
server 127.0.0.1:8081 weight=6;
server 127.0.0.1:8082 weight=3;
server 127.0.0.1:8083 weight=1;
}
3 IPHASH策略
业务场景: 要求用户与服务器进行绑定
实际案例: 学生在线考试系统 登录之后 要求展现试卷. 如果考生意外退出,应该保留用户的考试信息.
ip_hash 绑定的服务器宕机之后会默认寻找下一个
当设置fail_timeout=60s,ip_hash绑定服务器的机制会被打破
配置方法:
#集群配置说明 upstream 集群 1.轮询 2.权重 3.IPHASH
upstream jtTomcats {
ip_hash;
server 127.0.0.1:8081 weight=6;
server 127.0.0.1:8082 weight=3;
server 127.0.0.1:8083 weight=1;
}
IPHASH算法:
6. Nginx属性说明
1.down属性
业务说明: 由于后台服务器宕机,可能没有及时修改nginx配置文件 用户访问会出现卡顿的现象.
属性说明: 当用户服务器宕机之后 需要通过down属性进行标识, nginx不会再将请求发往故障机.
#集群配置说明 upstream 集群 1.轮询 2.权重 3.IPHASH
upstream jtTomcats {
#ip_hash;
server 127.0.0.1:8081 weight=6 down;
server 127.0.0.1:8082 weight=3;
server 127.0.0.1:8083 weight=1;
}
2 backup属性
说明: backup用来标识备用机. 当主服务器宕机或者主服务器遇忙时请求备用机.
#集群配置说明 upstream 集群 1.轮询 2.权重 3.IPHASH
upstream jtTomcats {
#ip_hash;
server 127.0.0.1:8081 weight=6 down;
server 127.0.0.1:8082 weight=3;
server 127.0.0.1:8083 weight=1 backup;
}
3 tomcat高可用机制
max_fails=1 最大失败次数 down标识为down
fail_timeout=60s; down属性的周期60秒内重启就会恢复使用
业务场景说明:
当tomcat服务器发生宕机现象时,由nginx自己判断服务器是否可用.如果发现服务器宕机,.则自动的标识为down.
#集群配置说明 upstream 集群 1.轮询 2.权重 3.IPHASH
# max_fails=1 最大失败次数 down标识为down
# fail_timeout=60s; down属性的周期60秒内重启就会恢复使用
upstream jtTomcats {
#ip_hash;
server 127.0.0.1:8081 down;
server 127.0.0.1:8082 max_fails=1 fail_timeout=60s;
server 127.0.0.1:8083 max_fails=1 fail_timeout=60s;
}
原文:https://blog.csdn.net/qq_16804847/article/details/114629438