Nginx配置文件的解析与反向代理、负载均衡、动静分离

  1. 全局块
  2. events块
  3. http块

准备工作

打开Nginx的配置文件

vim nginx.conf

全局块

 主要设置一些影响Nginx服务器整体运行的配置指令或一些文件的存放路径。如:`

worker_processes auto;   #控制nginx的最大并发处理数量,如 :1 随着数字的增大,nginx最大并发处理数量也在增大
error_log /var/log/nginx/error.log;  #nginx异常日志的存放位置

Events块

主要设置nginx服务器与用户的最大网络连接数量。如

events {
    worker_connections 1024;	#支持的最大连接数量
}

Http块

http块:即一个http处理模块,可进行http的相关参数配置,内可以包含多个server块;

server块:即是一个虚拟主机,需配置域名和端口,也只处理对应主机域名的http请求,内可包含多个location块;

location块:对应具体的路径请求(http请求)。

反向代理

单个代理对象反向代理的实现

server {
        listen       80 default_server;	#监听访问的端口号
		server_name  192.168.139.128;	#监听访问的Ip地址
		location / {
        proxy_pass    http://localhost:8080;	#反向代理的目标ip端口号
        }
#808080端口号已对外开放,可访问

实际访问效果就是在未修改tomcat的server文件情况下,访问80端口,被代理访问到了8080端口
在这里插入图片描述

反向代理的对象为多个的时候,只需要在server中新增多个location即可。
如:当使用浏览器访问9000端口下的
http://192.168.139.128:9000/porxy1/ 等价于http://localhost:8081/porxy1/;
http://192.168.139.128:9000/porxy2/ 等价于http://localhost:8080/porxy2;

配置如下:

server {
        listen     9000 ;
        server_name 192.168.139.128;

        location ~ /porxy1/ {
              proxy_pass   http://localhost:8081;
        }
        location ~ /porxy2/ {
              proxy_pass   http://localhost:8080;
        }
    }

负载均衡

 负载均衡使用的情况:多个用户请求访问服务器,nginx服务器动态的将访问的请求,分发到要访问的服务器当中。

主要设置,集群下,相同实现功能的ip地址与端口号

upstream testServer{		#testServer为自定义命名
        server 192.168.139.128:8080;    #分发的ip地址与端口号
        server 192.168.139.128:8081;
}

并修改server下的location设置

location / {
        proxy_pass    http://testServer;
}

在ip为192.168.139.128下部署了两个tomcat端口号分别为8080与8081。并设置了相同的项目test,测试结果如下
在这里插入图片描述

 刷新界面,nginx服务器使用了默认的轮询分配的方式,向8080端口与8081端口提交请求。

nginx常用的分配策略

  1. 轮询(默认)
      每个请求,根据请求的时间逐一分配到不同的服务器当中。如果其中有服务器shutdown,则会自动跳过该服务器。
  2. weigth
      权重分配,权重越大,分配的越多
    在这里插入图片描述
  3. ip_hash
      按请求访问的ip地址的hash不同进行分配,这样每个客户固定访问一个服务器。
    在这里插入图片描述
  4. fair
      按后端服务器的响应时间进行分配,响应时间短的优先分配。
    在这里插入图片描述
动静分离

 静态资源通过nginx进行分配
在/usr目录下新建data目录,并在其中创建文件
image存放图片,www存放html页面在这里插入图片描述
监听端口号与访问ip地址不变,新增两个location拦截。
拦截以’ /www/ ’ 下的文件 拦截’ /image/ '下的文件
在这里插入图片描述
测试
访问 http://192.168.139.128/www/1.html //乱是因为中文编码问题
在这里插入图片描述
访问 http://192.168.139.128/image/
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nginx是一款强大的开源Web服务器软件,除了支持常规的Web服务器功能外,还可以用作正向代理、反向代理负载均衡以及动静分离的配置。 正向代理是指客户端通过代理服务器发送请求,然后由代理服务器转发到目标服务器,从而隐藏客户端的真实身份。在nginx,可以通过配置修改proxy_pass指令来实现正向代理功能。 反向代理是指客户端发送请求到代理服务器,代理服务器再将请求转发到后端的服务器,然后将后端服务器的响应返回给客户端,客户端无法直接访问到后端服务器。在nginx,可以通过修改proxy_pass指令来实现反向代理,并且可以使用负载均衡来分配请求到多个后端服务器。 负载均衡是指将请求分发到多个服务器上,以达到均衡负载的目的。在nginx,可以使用upstream模块配置多个后端服务器,并通过配置proxy_pass和proxy_redirect实现请求的负载均衡nginx支持多种负载均衡算法,如轮询、IP哈希等。 动静分离是指将动态资源和静态资源分别部署在不同的服务器上,以提高系统性能和并发能力。在nginx,可以通过配置location指令将动态请求和静态请求分别代理到不同的后端服务器或直接返回静态文件,从而实现动静分离。 总结来说,nginx通过配置实现了正向代理、反向代理负载均衡动静分离等功能,在提供Web服务的同时,能够提高系统的性能、并发能力和安全性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值