Nginx代理

代理

反向代理

用户发起正常的url请求地址,经过代理将路径进行转化,代替用户去请求真实资源的过程.称之为反向代理。

正向代理

正向代理(forward proxy): 是一个位于客户端和目标服务器之间的服务器(代理服务器),为了从目标服务器取得内容,客户端向代理服务器发送一个请求并指定目标,然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端。代理的是客户端。

Nginx介绍

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

Nginx官网:https://nginx.org/en/download.html

Nginx安装

将nginx安装文件导入本地磁盘要求,不要放置C盘/不要有中文路径.之后将文件解压.

注意事项:

  1. nginx启动会占用80端口!!!
    如果启动异常 请检查tomcat环境变量配置.
    高级系统设置 path路径中检查tomcat是否配置.
  2. Nginx只能启动一次.不能多次启动.如果启动多次.则nginx之前正常的启动将被破坏. 启动/关闭.

Nginx启动说明

起步阶段

第一次启动时以超级管理员身份运行.目的获取权限.

关于进程项说明

  • 说明:每次启动nginx都会启动2个进程.
  • 守护进程:防止主进程意外关闭.
  • 主进程: nginx主要服务项.
  • 手动关闭方式: 先关闭守护再关闭主进程.

Nginx命令

前提:命令执行时需要在nginx的根目录中运行!!!

  1. 启动命令 start nginx
  2. 关闭命令 nginx -s stop
  3. 重启命令 nginx -s reload 必须先开再重启

Nginx反向代理配置

入门案例

复制代码
server {
        listen       80;    		#要求监听80端口
        server_name  localhost;   	#监听域名

		#具体反向代理的配置信息
        location / {
        	#root是关键字   代表文件夹
            root   html;
            #index是关键字  代表系统默认访问页面
            index  index.html index.htm;
        }
}

实现本地图片的反向代理

需求:将域名为image.jt.com----转化为具体文件路径D:\1-JT\images

  1. 编辑nginx配置文件:

    #1.图片服务器
    server {
    listen 80;
    server_name image.jt.com;

    复制代码
     	location / {
     		#代理路径
     		root  D:/1-JT/images;
     	}
     }
  2. 遇到问题
    因为image.jt.com这个域名我们没有购买.如果只有本机自己测试时使用.则可以通过修改hosts文件实现该功能.

关于Hosts文件说明

说明:由于本机需要某些特定的环境作为测试.

则一般在hosts文件中配置域名与IP的映射关系.

文件路径: C:\Windows\System32\drivers\etc

修改hosts文件

#127.0.0.1 localhost

127.0.0.1 www.164.com

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 cart.jt.com

127.0.0.1 order.jt.com

Nginx实现负载均衡

轮询策略

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

复制代码
#准备tomcat_windows集群 默认:轮询策略
	upstream jtWindows {
		server localhost:8091;
		server localhost:8092;
		server localhost:8093;
	}
	
	#配置后台管理服务器
	server {
		listen 80;
		server_name manage.jt.com;

		location / {

			#代理服务器路径
			proxy_pass http://jtWindows;
		}
	}

权重策略

说明:根据物理服务器配置,让高性能服务器尽可能多分配请求.

配置信息:

复制代码
	#准备tomcat_windows集群 默认:轮询策略 2.权重策略
	upstream jtWindows {
		server localhost:8091 weight=6;
		server localhost:8092 weight=3;
		server localhost:8093 weight=1;
	}

IPHASH策略

说明:使用IPhash可以将用户与服务器绑定.实现了数据的共享

但是:一般很少使用.做测试或者小规模使用可以.大型公司禁止使用.

配置步骤:

#准备tomcat_windows集群 默认:轮询策略 2.权重策略 3.了解 IPhash策略

upstream jtWindows {

ip_hash;

server localhost:8091 weight=6;

server localhost:8092 weight=3;

server localhost:8093 weight=1;

}

缺点:

1.如果后台服务器宕机.则影响部分用户无法访问服务器.

2.使用iphash会造成严重的负载不均现象.

Nginx运维配置项

down属性

问题说明:当nginx实现负载均衡时,当后台服务器宕机,则nginx会等待超时时间.之后访问下一台服务器.但是每次周期都会去访问故障机.

属性说明:

down表示标识故障机.nginx如果遇到用down标识的服务器.则永远不会访问该机器.

复制代码
upstream jtWindows {
		#ip_hash;	
		server localhost:8091 down;
		server localhost:8092;
		server localhost:8093;
	}

backup属性

说明:backup表示备用机机制.正常情况下该机器不参与用户的访问.留作备用.当服务器全部宕机或者主服务器遇忙时.

upstream jtWindows {

#ip_hash;

server localhost:8091 down;

server localhost:8092 down;

server localhost:8093 backup;

}

健康检查/心跳检测

说明:tomcat服务器如果正常可以抗击高并发.如果服务器宕机.则受一定的影响.这时采用备用机可以抗击压力.

问题:备用机要想生效必须满足down标签. 服务之后需要人为的添加down属性.

属性介绍:

复制代码
max_fails=1:        表示用户发起请求时链接不到服务器表示失败.
fail_timeout=60s    如果服务器访问失败次数1次之后则在60秒内不会再访问故障机.
proxy_connect_timeout       2;   #服务器链接超时时间
proxy_read_timeout          2;   #读取服务器资源超时时间
proxy_send_timeout          2;   #向服务器发送资源的超时时间

使用说明:

nginx健康监测是为了在没有程序员表示down属性时,引起频繁访问故障机的情况.当服务器宕机.只需要影响用户2秒之后,在指定的周期中不会再次访问故障机.提升用户体验.

相关推荐
記億揺晃着的那天19 分钟前
NAS 内网域名访问为什么需要浏览器授权
网络·nginx·js·nas
小爬的老粉丝42 分钟前
JavaScript 纯前端预览 WPS:先识别容器,再路由解析器
前端·javascript·wps
隔窗听雨眠2 小时前
GBase 8s并发控制深度解析:封锁机制、隔离级别与死锁处理全攻略
服务器·数据库·oracle
满栀5852 小时前
状态管理:Redux、Vuex、Pinia 核心区别
前端·javascript·typescript
鲸采云SRM采购管理系统3 小时前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
那年窗外下的雪.3 小时前
AIDC 学习日志 第 04 天 BGP Underlay 基础与路由选择
服务器·学习·php
0x533 小时前
Java网络编程(二)
java·服务器·网络
大龄码农有梦想4 小时前
Vue + BPMN.js + Camunda:搭建企业级流程设计器完整实践
javascript·vue.js·流程设计器·bpmn.js·bpmn·流程审批·工作流设计器
Eloudy5 小时前
ReAct 原理简介
前端·javascript·人工智能·react.js·agent·gpu
小绫网络安全5 小时前
Kali Linux渗透测试入门教程:从零搭建到实战攻防
linux·运维·服务器