Nginx从安装到使用反向代理、负载均衡、动静分离

本文详细介绍Nginx的安装、配置与优化方法,包括反向代理、负载均衡、动静分离等功能实现,以及Nginx的工作原理。通过实例演示如何配置Nginx以提升Web服务的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nginx从安装到使用反向代理、负载均衡、动静分离

安装

  1. 下载nginx
    地址:http://nginx.org/en/download.html
    在这里插入图片描述
  2. 下载需要的依赖
    yum install gcc pcre-devel zlib-devel在这里插入图片描述
  3. 进入nginx解压目录进行检查环境![(https://img-blog.csdnimg.cn/20200414105732392.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2ODU2MDI0,size_16,color_FFFFFF,t_70)
  4. 先进入到nginx根目录进行编译及安装
    make && make install
    在这里插入图片描述
  5. 切换到nginx的安装目录
    cd /usr/local/nginx
    在这里插入图片描述
  6. 启动nginx
    在步骤5中的目录中有个sbin目录,里面有nginx的启动命令
    在这里插入图片描述
    查看是否启动成功
    在这里插入图片描述
    一个master进程,一个worker进程

Nginx反向代理

反向代理在百度百科中定义如下
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
在这里插入图片描述

  1. 先启动一个tomcat运行在8080端口
    在这里插入图片描述
  2. 配置 nginx 的 nginx.conf (在安装目录-> /usr/local/nginx/conf/)文件
    通过监听本机的80端口反向代理Tomcat的IP:port
    proxy_pass http://39.105.231.121:8080;在这里插入图片描述
  3. 进入到nginx的sbin目录重启nginx
    ./nginx -s reload
    再次访问nginx如下图在这里插入图片描述
  4. 还可以根据访问的路径访问不同的服务器
    先准备两个运行在不同端口的Tomcat,并在Tomcat的webapps目录下常见不同的目录存放不同的文件来达到实验效果。


Tomcat目录如下(其一):
在这里插入图片描述

Nginx的负载均衡

为了实验效果先启动两个Tomcat运行在不同的端口,并修改默认页面来区分。

  1. 在nginx.conf文件中配置
    配置需要负载均衡的服务器列表
    在这里插入图片描述
  2. Nginx支持X中负载均衡策略
    ①第一种:轮训(默认策略,不需要任何配置)
    ②第二种:权重(weight),权重默认为1,权重值越高,负载均衡分配到的访问次数相对越多。配置如下:
    在这里插入图片描述
    测试结果分配到的概率为1:2
    ③第三种:ip_hash,根据访问者的IP地址进行hash计算每次都分配到固定的某个服务器,可以解决Session共享问题.配置如下:
    在这里插入图片描述
    测试结果,某个IP地址访问的都是同一个服务器。
    ④第四种:fair(第三方,需要安装fair模块),按照后端响应时间来分配,响应时间越短,越优先分配

Nginx的动静分离

如果访问的是静态资源,不需要经过Tomcat服务器直接去访问静态资源,如下图:在这里插入图片描述
配置如下:
在这里插入图片描述
结果:
在这里插入图片描述
在这里插入图片描述

Nginx工作原理图

在这里插入图片描述
Nginx启动后至少会启动两个进程,一个Master进程,多个Worker进程,其中Master进程主要负责如果有客户端请求,则给各个Worker进程发送一个信号,Worker进程基于 抢占式 的去处理客户端连接。

多个Worker进程处理请求的好处:

  • 各个进程之间相互独立,不需要考虑加锁带来的额外消耗
  • 可以使Nginx支持不停机重加载配置的方式,没有处理用户请求的Worker进程加载最新的配置,正在处理用户请求的进程等处理完用户请求之后再加载最新的配置,加载指令:./nginx -s reload

并非Worker进程越多越好,太多会造成资源浪费而且会造成CPU不断切换上下文,带来额外消耗,一般合适的数量为CPU的核心数,避免CPU的上下文切换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值