Nginx代理服务器---快速入门

1.反向代理机制

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

总结

1)反向代理服务器位于目标服务器与用户之间
2)对于用户而言,反向代理服务器就是目标服务器
3)用户访问时根本不清楚真实的服务器资源是谁(保护真实服务器资源信息)
4)反向代理服务器一般是服务器端代理,保护真实服务器信息
在这里插入图片描述

2.正向代理(知识补偿)

意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。
核心: 客户端清楚的知道访问的服务器资源是谁
类比:路由器.
问题:什么是正向代理?有哪些应用?
1)代理服务器位于用户与服务器之间
2)用户发起请求时,清楚的知道自己访问的真实服务器是谁
3)代理服务器将用户的请求转交给服务器获取数据
4)正向代理是客户端代理 保护了用户的信息
一般用于网络通信的使用(路由器)
在这里插入图片描述

3Nginx官网介绍

在这里插入图片描述

3.1Nginx介绍

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
说明:
1.占用内存小 nginx服务启动之后 占用的内存空间不超过2M.
2.并发能力强 nginx并发能力大约3-5万/秒 tomcat服务器并发能力大约150-220之间

3.2Nginx安装

说明: nginx安装路径 不要放到C盘中/路径中不要有中文+空格
1).nginx启动 以超级管理员的身份运行.exe文件.
在这里插入图片描述
2).Nginx校验 打开任务管理器 检查所有的服务信息.
在这里插入图片描述
3).通过浏览器校验 localhost:80
在这里插入图片描述

3.3Nginx安装中遇到的问题

1).nginx不能正常启动.
执行了nginx启动命令之后,在任务管理中 详细信息中检查是否有服务. 如果没有则表示nginx启动异常.
2).一般检查80端口是否被占用.

搜索80端口被占用的情况
在这里插入图片描述
在这里插入图片描述
3).80端口被PID=4的编号占用
https://jingyan.baidu.com/article/b7001fe1d6e9370e7382dd43.html

3.4 Nginx命令

3.4.1 关于Nginx进行项说明

说明:nginx启动时会开启2个进程项,
1).主进程 :主要提供反向代理服务的. 内存占用大的
2).守护进程: 防止主进程意外关闭的.
关闭nginx时,需要先关闭守护进程,之后关闭主进程.

3.4.1 Nginx基本命令

说明:如果需要执行nginx的命令,则需要在nginx的根目录中执行
1)启动 start nginx 如果nginx配置文件有问题,也不会生成报错信息.
2)重启 nginx -s reload -s 指令会生成报错信息.
3)停止 nginx -s stop

3.5Nginx 反向代理入门案例

3.5.1 业务需求

用户通过http://localhost:80的网址,要求跳转到系统的默认页面中,效果如下
在这里插入图片描述

3.5.2 反向代理入门案例
	http {
		server {
    		
       		 listen       80;    # 监听端口号
        	server_name  localhost;   # 监听的服务名称
	
			#反向代理的配置,获取用户指定的请求之后,将请求转向到什么位置
			#  / 请求访问的根目录
        	location / {
	   		 #  root关键字   反向代理文件目录
             root   html;
	    	 #	index关键字   默认跳转页面
            index  index.html index.htm;
        	}
        }
	}

3.5.3 反向代理效果

在这里插入图片描述

3.6 商品图片回显实现

3.6.1 业务分析

url地址: http://image.jt.com/2020/07/11/39ff8758-57bb-4452-bf29-db6061fff24a.jpg
磁盘地址: D:\JT-SOFT\images/2020/07/11/39ff8758-57bb-4452-bf29-db6061fff24a.jpg
利用nginx服务器实现反向代理机制, 当用户访问http://image.jt.com时 要求跳转到路径 D:\JT-SOFT\images\

3.6.2 编辑Nginx的配置文件
# 配置图片服务器代理   个别windows中"_-"字符可能不识别
   server {
	listen		80;
	server_name	image.jt.com;

	location / {
		
		#映射到目录中
		root    D:\JT-SOFT\images;
	}
 
   }

3.6.3 网络访问链路说明

HOSTS文件记录了本机访问的域名与IP的映射关系
在这里插入图片描述

3.6.4 编辑HOSTS文件

位置:
在这里插入图片描述

3.6.5 利用switchHosts编辑文件

在这里插入图片描述

3.6.6 修改hosts文件权限

在这里插入图片描述

3.7 实现域名代理

3.7.1 业务需求

要求: 用户通过http://manage.jt.com:80 访问localhost:8091服务器.

3.7.2 反向代理-服务器域名代理
# 配置域名代理
   server {
	listen		80;
	server_name	manage.jt.com;

	location / {
		
		#代理的是服务器地址
		proxy_pass   http://localhost:8091;
		
	}
 
   }

3.7.3 页面效果展现

在这里插入图片描述

4.Nginx负载均衡策略

4.1 什么是负载均衡

说明:在分布式条件下,为了提高用户请求的响应能力,准备多台服务器.一起抗击高并发.需要用户通过同一个网址访问不同服务器的技术称之为负载均衡机制.
在这里插入图片描述

4.2 准备多台tomcat服务器

4.2.1 规划说明

准备3台tomcat服务器,并且端口号依次为8081/8082/8083,之后完成项目Windows部署.

4.2.2 编辑MsgController

说明:动态获取当前服务器端口号信息

	@RestController		
public class MsgController {
	
	@Value("${server.port}")
	private int port;
	
	//主要获取当前访问服务器的端口号信息!!!!
	@RequestMapping("/getPort")
	public String getMsg() {
		
		return "您当前访问的服务器端口号:"+port;
	}
}

4.2.3 项目打包

注意事项:
1).按照规定修改端口号信息 8081/8082/8083
2).将JT项目整体打包部署.
在这里插入图片描述
3).项目打包成功展现
在这里插入图片描述
4).将项目打包之后部署
在这里插入图片描述
5).项目发布
利用命令实现项目发布: java -jar 8081.war
在这里插入图片描述

4.2.4 关于项目方发布访问问题

说明: 通过命令发布项目之后,浏览器访问速度较慢.(不正常)
方式1: 直接关闭当前dos命令窗口
方式2: ctrl + c 方式 释放资源.

4.3 Nginx实现负载均衡

4.3.1 负载均衡需求说明

要求: 通过http://manage.jt.com 方式 依次访问8081/8082/8083服务器.

4.3.2 负载均衡策略----轮询

说明: 根据配置文件的顺序,依次访问tomcat服务器

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

	location / {
		
		#代理的是服务器地址
		#proxy_pass   http://localhost:8091;   
		proxy_pass    http://jtW;
	}
 
   }

   #定义多台tomcat服务器   1.轮询策略
   upstream  jtW {
	server localhost:8081;
	server localhost:8082;
	server localhost:8083;
   }

43.3 负载均衡策略----权重

权重策略: 让性能更优的服务器更多的处理请求.

	#定义多台tomcat服务器   1.轮询策略    2.权重策略
   upstream  jtW {
	server localhost:8081 weight=6;
	server localhost:8082 weight=3;
	server localhost:8083 weight=1;
   }

4.3.4 负载均衡策略—IPHASH策略

说明: 如果需要用户与后端服务器进行绑定时,可以使用IPhash策略.
案例A: 有时用户可能做登录操作,可能将用户信息保存到session对象 中,如果这时采用轮询/权重的策略,可能访问其他的业务服务器.导致用户频繁的登录.
配置信息:

	  #定义多台tomcat服务器   1.轮询策略    2.权重策略
   upstream  jtW {
   	ip_hash;
	server localhost:8081 weight=6;
	server localhost:8082 weight=3;
	server localhost:8083 weight=1;
   }


IPHASH原理:
在这里插入图片描述
补充知识:
1).IPHASH一般只做测试时用.
2).使用IPHASH可能造成负载不均的现象. 某些服务器负载压力过高.有宕机的风险.
3).使用IPHASH时,如果后端服务器宕机,则直接影响用户的使用.
4).工作中如果需要实现用户信息的共享,一般采用SSO的方式进行.
用户只需一次登录就可以访问所有相互信任的应用系统

4.4关于Nginx属性配置

4.4.1关于Nginx工作原理说明

默认条件下,nginx会按照指定的负载均衡规则访问服务器。如果访问的服务器又出现了问题,那么则会访问下一台服务器。但是随着负载均衡的继续,任然访问故障机.效率低.

4.4.2down属性

说明:如果遇到某台tomcat服务器宕机,则可以通过down属性标识故障机,则nginx永远不会主动访问故障机.\

	 #定义多台tomcat服务器   1.轮询策略    2.权重策略    3.ip_hash策略
   upstream  jtW {
   	#ip_hash;
	server localhost:8081 weight=6  down;
	server localhost:8082 weight=3;
	server localhost:8083 weight=1;
   }

4.4.3backup 属性

说明: backup的作用表示标识备用机. 一般情况下备用不工作.当遇到主机全部宕机/遇忙时,这时备用机才会生效.

	 #定义多台tomcat服务器   1.轮询策略    2.权重策略    3.ip_hash策略
   upstream  jtW {
   	#ip_hash;
	server localhost:8081 weight=6  down;
	server localhost:8082 weight=3  down;
	server localhost:8083 weight=1  backup;
   }

4.4.3设定访问超时

属性说明:
1.max_fails=1 允许访问失败的最多次数
2.fail_timeout=60s 失败的超时时间(理解为时间区间)
当服务器宕机时,这时配置文件还没有被标识为down时.开启了高可用的机制. 只要失败的次数超过最大失败次数,则
在指定的时间周期之内,不会再次访问故障机.

	 #定义多台tomcat服务器   1.轮询策略    2.权重策略    3.ip_hash策略
   upstream  jtW {
   	#ip_hash;
	server localhost:8081 max_fails=1 fail_timeout=60s;
	server localhost:8082 max_fails=1 fail_timeout=60s;
	server localhost:8083 max_fails=1 fail_timeout=60s;
   }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nginx是一个高性能的开源Web服务器软件,它可以作为反向代理服务器、负载均衡器和HTTP缓存服务器等多种用途。对于初学者,可以通过阅读《nginx 快速入门》这本PDF来学习nginx的基本知识和使用方法。 《nginx 快速入门》这本PDF提供了全面而详细的关于nginx的介绍和使用指南。首先,它简要介绍了nginx的历史、特点和优势,帮助读者对nginx有一个整体的了解。然后,它详细介绍了nginx的安装和配置过程,包括如何在不同操作系统上安装nginx、如何配置nginx的基本选项和参数等。 除了安装和配置,这本PDF还介绍了nginx的核心功能和常用模块的使用方法。例如,它详细介绍了如何配置nginx作为反向代理服务器,将客户端的请求转发到后端的应用服务器;如何配置nginx作为负载均衡器,实现请求的分发和负载均衡;以及如何配置nginx作为HTTP缓存服务器,提高Web应用的性能等。 此外,这本PDF还介绍了nginx的安全性和高可用性相关的内容,例如如何配置SSL证书进行HTTPS加密传输、如何配置基于HTTP Basic Authentication的访问控制、如何配置nginx实现故障转移和负载均衡等。 总之,《nginx 快速入门》这本PDF是一本适合初学者快速入门nginx的指南。通过阅读这本PDF,读者可以了解nginx的基本概念和使用方法,并能够配置和管理一个基本的nginx服务器。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值