Nginx实现反向代理
反向代理介绍:反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源,反向代理服务器负责将请求转发给目标服务器。用户不需要知道目标服务器的地址,也无须在用户端作任何设定,对于用户来说,访问反向代理服务器是完全无感知的。
-
修改nginx.conf配置文件
server { # 监听本机访问端口 listen 8080; server_name localhost; location / { # 反向代理配置 将请求转发到指定服务 proxy_pass http://www.baidu.com; } } -
可以使用命令重新加载配置文件、或重启Nginx服务
# 重新加载配置文件: ./nginx -s reload # 重启Nginx服务: ./nginx -s stop #关闭Nginx ./nginx #开启Nginx
Nginx实现负载均衡
**负载均衡介绍:**随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因此需要多台服务器组成应用集群,进行性能的水平扩展以及避免单点故障出现。
**应用集群:**将同一应用部署到多台机器上,组成应用集群,接收负载均衡器分发的请求,进行业务处理并返回响应数据
**负载均衡器:**将用户请求根据对应的负载均衡算法分发到应用集群中的一台服务器进行处理
-
修改nginx.conf配置文件:
#upstream指令可以定义一组服务器 upstream targetserver{ # 负载均衡策略,将请求转发到后面的两台服务器 server www.baidu.com; server www.jd.com; } server { # 监听本机访问端口 listen 8080; server_name localhost; location / { proxy_pass http://targetserver; } } # 重新加载配置文件: ./nginx -s reload -
负载均衡策略
处理上述默认的轮询策略以外,在Nginx中还提供了其他的负载均衡策略,如下:
名称 说明 特点 轮询 默认方式 weight 权重方式 根据权重分发请求,权重大的分配到请求的概率大 ip_hash 依据ip分配方式 根据客户端请求的IP地址计算hash值, 根据hash值来分发请求, 同一个IP发起的请求, 会发转发到同一个服务器上 least_conn 依据最少连接方式 哪个服务器当前处理的连接少, 请求优先转发到这台服务器 url_hash 依据url分配方式 根据客户端请求url的hash值,来分发请求, 同一个url请求, 会发转发到同一个服务器上 fair 依据响应时间方式 优先把请求分发给处理请求时间短的服务器 权重的配置:
#upstream指令可以定义一组服务器 upstream targetserver{ server www.baidu.com weight=10; server www.baidu.com weight=5; }