Nginx笔记

Nginx是一个高性能的HTTP和反向代理服务器,常用于实现反向代理、负载均衡和动静分离。反向代理用于隐藏内网服务器信息,负载均衡则在请求过多时分散到多个服务器。动静分离通过不同的服务器处理动态和静态内容,提高网站速度。配置中,Nginx的proxy_set_header指令用于在反向代理时不丢失请求的host信息。
摘要由CSDN通过智能技术生成

Nginx

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理server。其特点是占有内存少。并发能力强,其并发能力确实在同类型的网页server中表现较好。

Nginx的作用

  • 反向代理:

正向代理

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

        主要区别: 屏蔽客户端信息

反向代理

        客户端向反向代理的命名空间中的内容发送普通请求,接着反向代理将推断向何处(原始服务器)转交请求,并将获得的内容返回给客户端。

        主要区别: 屏蔽内网服务器信息

  • 负载均衡:

        当请求过多,单个服务器难以负荷时,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上。

        

  • 动静分离:

为了加快网站的解析速度,可以吧动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力 

 Nginx的配置

# 进入nginx目录
cd /mydata/nginx/conf/

 nginx.conf  文件为主配置文件

nginx.conf配置文件结构

nginx.config文件对应的http块

 include /etc/nginx/conf.d/*.conf;

主要是配置server块

意思是 载入了 该路径下的.conf文件

所以我们需要去conf.d文件夹下新建配置

 新建gulimall.conf配置文件

修改server_name 代表 接收以gulimall.com为host头的请求

        注意 gulimall.com 映射的域名是虚拟机的ip

修改location  代表 将以gulimall.com为host头的请求转发给          http://192.168.56.1:10000(localhost) 

 整体流程

 但是之前的配置直接转发到各个微服务 需要转发给网关

在http块配置上游服务器

 代表本机的网关地址 (localhost)如果有多个网关 可以配置多个server

 将gulimall.com 为host的请求转发给上流服务器(网关)

配置网关

- id: gulimall_host_route
  uri: lb://gulimall-product
  predicates:
    - Host=**.gulimall.com

以gulimall为host的请求负载均衡给gulimall-product

但是会失败

nginx反向代理host信息丢失问题

Nginx反向代理给网关的时候 会丢失请求的host的信息(实际上不止这一个)

所以网关断言匹配不上

解决 server块新增proxy_set_header Host $host;配置

 

Nginx中负载均衡的分配方式

(1)轮询(默认)

每个请求按照时间顺序逐一分配到不同后端服务器中去,挂了的服务器会被自动剔除。

(2)weight

weight代表权重,默认为1,权重越高,被分配的客户端请求会越多。

upstream myserver{
	server 1.12.34.101:8080 weight=10;
	server 1.12.34.101:8081 weight=10;
}

(3)ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

upstream myserver{
	ip_hash;
	server 1.12.34.101:8080;
	server 1.12.34.101:8081;
}

(4)fair

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

upstream myserver{
	server 1.12.34.101:8080;
	server 1.12.34.101:8081;
	fair;
}

动静分离的实现 

/static/ 开头的路径 都映射到 /usr/share/nginx/html 下的静态资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值