nginx的使用

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值