Nginx实现反向代理

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.占用内存少 tomcat服务器启动200M Nginx服务器启动时 2M
2.并发能力强 tomcat并发能力150-200左右 Nginx并发能力 3-5万/秒
3.Nginx主要的功能做反向代理
4.Nginx可以作为负载均衡服务器使用

2 关于图片回显业务说明

网络虚拟地址:http://image.jt.com/2021/01/26/60f84beee9914853804cfb90897530bb.png
真实的磁盘地址:E:\JT_IMAGE\2021\01\26\1b0e435933ac42cabec53b20ffbcfe90.png
说明:由于某些原因,用户无法直接访问图片服务器.需要一个代理进行中转.
在这里插入图片描述

3 反向代理

3.1 概念
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率

3.2 特点
1.反向代理服务器是介于用户和服务器之间的
2.用户直接访问代理服务器,以为代理服务器就是真实的服务器.
3.用户不清楚真实的服务器到底是谁.
4.反向代理是服务器端代理.保护了真实的服务器信息.
5.反向代理主要的作用 访问服务器获得服务器数据的.
在这里插入图片描述

4 正向代理

4.1 说明
正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。

4.2 特点
1.正向代理服务器介于用户和目标服务器之间
2.用户非常清楚的知道服务器网址是谁.
3.服务器端不清楚真实的用户是谁.
4.正向代理一般都是客户端代理.保护了用户的信息.
5.正向代理一般都是为了获取网络资源.例如路由器
在这里插入图片描述

5 关于正向/反向代理说明

在这里插入图片描述

6 运行Nginx

以管理员身份运行时只执行一次. 注意事项: 占用80端口
在这里插入图片描述
运行测试
在这里插入图片描述

7 Nginx进程项相关说明

说明: 每次启动nginx服务器时,都会启动2个进程项.一个是守护进程/一个是主进程
守护进程: 防止主进程意外关闭的. 内存小的
主进程: 主要提供反向代理服务. 内存大的
在这里插入图片描述

8 Nginx命令

说明: nginx的命令要求在nginx.exe所在的目录中执行.

1).启动命令 start nginx
2).重启命令 nginx -s reload
3).关闭命令 nginx -s stop

9 Nginx反向代理入门案例

在这里插入图片描述
D:\JavaDevelop\nginx-1.15.10\conf\nginx.conf

http {
		#每个服务都是一个server
		server {
			listen 80;   #如果没有特殊的要求监听的都是80!!!
			server_name localhost;
			#开始进行反向代理
			location  / {
				#html是一个相对路径的写法
				root    html ;
				index  index.html;
			}
		}
	}

10 利用Nginx实现图片代理

1 业务分析
虚拟网络地址: http://image.jt.com/2021/01/27/43fdd159f0f74212927447ccbe85c951.png
本地磁盘地址: E:\JT_IMAGE\2021\01\27\43fdd159f0f74212927447ccbe85c951.png
核心: 需要将http://image.jt.com 利用Nginx服务器反向代理到E:\JT_IMAGE
在这里插入图片描述
2 HOSTS文件介绍
作用: 在本机可以实现域名与IP地址的映射关系
位置: C:\Windows\System32\drivers\etc
在这里插入图片描述
3 关于switchHosts软件说明
可以用来编辑hosts文件
在这里插入图片描述
4 修改hosts文件
在这里插入图片描述
5 修改nginx配置文件实现图片回显
重启nginx服务器.
在这里插入图片描述

11 实现域名代理

1 需求
要求用户通过http://manage.jt.com的方式访问 http://localhost:8091的服务器.

2 步骤
1).修改hosts文件
在这里插入图片描述
2).修改nginx配置文件 实现域名代理
在这里插入图片描述
3).页面效果展现
在这里插入图片描述

12 tomcat集群搭建

1tomcat集群搭建
在这里插入图片描述
2 搭建步骤
2.1 修改端口号
在这里插入图片描述
2.2 项目打包
在这里插入图片描述
2.3 项目tomcat准备
在这里插入图片描述
2.4 动态获取tomcat端口号

@RestController
public class PortController {

    //动态获取当前端口号信息
    @Value("${server.port}")
    private Integer port;

    @RequestMapping("/port")
    public String getPort(){

        return "当前端口号:"+port;
    }

}

2.5 项目tomcat发布
在这里插入图片描述
3 Nginx实现负载均衡
3.0 关于nginx启动说明
在这里插入图片描述
3.1 轮询策略
说明: 根据配置文件中的顺序,依次访问tomcat服务器.
配置: 修改nginx之后重启nginx服务器

#配置域名代理
	server {
		listen 80;
		server_name  manage.jt.com;

		location / {
			#代理 服务器访问地址
			#proxy_pass http://localhost:8091;
			proxy_pass  http://jtWindows;
		}
	}

	#构建tomcat服务器集群
	#默认规则: 轮询策略
	upstream jtWindows {

		server localhost:8081;
		server localhost:8082;
		server localhost:8083;
	}

3.2 权重策略
说明: 由于公司内部物理服务器的处理能力可能有高有低.,所以需要让高性能的服务器处理更多的请求. 采用权重的策略配置:
在这里插入图片描述

3.3 IPHASH策略
需求: 在线考试为例. 小李完成考试 马上要写完了.这时电脑宕机.重启之后小李发现刚才做的题目没有保存,需要重做? 小李很崩溃 问软件应该如何优化??
提示: 小李访问的服务器是刚才的吗?
解决方案:
1).可以让用户与服务器进行绑定
2).将用户的考试信息保存到第三方.之后无论从哪台服务器获取都是相同的结果.
IPHAHS算法:
在这里插入图片描述
在这里插入图片描述
4 关于nginx高级属性说明
4.1 down属性
说明: 如果nginx集中添加down属性 则标识nginx服务器不会再将请求,发给该服务器.
在这里插入图片描述
4.2 backup属性
说明:该属性用来标识备用机,正常的情况下 用户不会再次访问备用,除非当前服务器遇忙/当前服务器宕机.才有可能访问备用机.
在这里插入图片描述
4.3 Nginx实现tomcat服务器高可用
高可用(HA)说明: 当服务器发生故障时,无需人为的干预,可以自动化的实现故障的迁移.
说明: 如果发现服务器宕机如果由人工来完成 效率较低. 可以通过程序自动完成.,
在这里插入图片描述

  • 20
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值