“深入理解Nginx的负载均衡与动静分离“

这篇具有很好参考价值的文章主要介绍了“深入理解Nginx的负载均衡与动静分离“。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


“深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat

引言

在现代互联网应用中,高性能和可扩展性是至关重要的。Nginx作为一款高性能的Web服务器和反向代理服务器,被广泛应用于各种规模的网站和应用程序中。本文将深入探讨Nginx的负载均衡和动静分离的原理与实践,帮助读者更好地理解和应用这些功能。

一、Nginx简介

Nginx是一款轻量级的高性能Web服务器和反向代理服务器,由俄罗斯的工程师Igor Sysoev开发。它采用事件驱动的异步非阻塞架构,能够处理大量并发连接,具有出色的性能和稳定性。本节将介绍Nginx的基本概念、特点和安装配置方法。

  • 负载均衡

“深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat

  • 动静分离
    “深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat

1. Nginx的基本概念

Nginx采用模块化的设计,核心模块负责处理HTTP请求和响应,而其他模块则提供了丰富的功能扩展,如负载均衡、动静分离、反向代理等。在理解Nginx的负载均衡和动静分离之前,我们需要了解一些基本概念,如虚拟主机、反向代理和上游服务器等。

2. Nginx的特点

Nginx具有以下几个显著的特点:

  • 高性能:采用异步非阻塞的事件驱动模型,能够处理大量并发连接,适用于高负载的场景。
  • 轻量级:占用系统资源少,启动速度快,适合部署在资源有限的环境中。
  • 可扩展性:支持模块化设计,可以根据需求选择性地加载和配置各种功能模块。
  • 稳定性:经过多年的生产环境验证,稳定性得到了广泛认可。

3. Nginx的安装配置

  1. 去到Nginx压缩包目录下, 我的是(javayh/software) 输入(yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel)回车 下载4个依赖先

  2. 解压Nginx压缩包 输入(tar -xvf nginx-1.13.7.tar.gz)回车 解压Nginx

  3. 然后 cd nginx-1.13.7 回车进入目标文件

  4. 编译,执行配置: 考虑到后续安装ssl证书 添加两个模块,输入(./configure --with-http_stub_status_module --with-http_ssl_module)回车

  5. 安装 输入(make && make install)回车

  6. 然后下一步如图所示“深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat

  7. 然后cd sbin/ 回车进入sbin 然后输入./nginx回车启动

  8. 然后下载一个lsof 输入(yum install -y lsof)回车

  9. 输入(lsof -i:80)回车查看“深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat

  10. 设置防火墙开放 80 端口
    输入(firewall-cmd --zone=public --add-port=80/tcp --permanent)回车开放
    输入( firewall-cmd --reload && firewall-cmd --list-port )回车刷新并展示“深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat
    “深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat
    能访问此时Nginx服务就启动成功了

二、Nginx搭载负载均衡

负载均衡是指将请求分发到多个服务器上,以达到提高系统性能和可用性的目的。Nginx作为一款高性能的反向代理服务器,具备强大的负载均衡功能。本节将介绍Nginx的负载均衡原理和常用的负载均衡算法,并结合实例演示如何配置和使用Nginx进行负载均衡。

继上面十步后实现负载均衡

  1. 首先防火墙需要再开端口
    输入(firewall-cmd --zone=public --add-port=8081/tcp --permanent)回车开放
    输入( firewall-cmd --reload && firewall-cmd --list-port )回车刷新并展示
    “深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat
    此时就有三个端口了

  2. 这一步是我要删除我Tomcat之前所存在的项目
    “深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat

  3. 然后回到software文件下面,输入(cp -r apache-tomcat-8.5.20/ apache-tomcat-8.5.20_8081/)回车就会多一个Tomcat服务器
    “深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat

  4. 然后该新的Tomcat的端口配置,如下进入目录
    “深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat
    回车进入后把所有的端口号都改一下,改为之后退出
    为了方便区别,我把(/javayh/software/apache-tomcat-8.5.20_8081/webapps/ROOT/)中的index界面改了,在远程连接上改的,也可以自己手动改

  5. 然后把两个Tomcat服务启动
    “深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat
    现在先去访问看能不能成功
    “深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat
    “深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat
    这边可以看到两个都启动成功了

  6. 下一步要负载Tomcat,根据以下操作进入目标目录找到这个配置文件
    “深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat

  7. 然后进入nginx.conf编辑配置,以下是我编辑的两个地方

   
     #服务器的集群
    upstream  tomcat_list {  #服务器集群名字
        server    127.0.0.1:8080  weight=1;   #服务器1   weight是权重的意思,权重越大,分配的概率越大。
        server    127.0.0.1:8081  weight=3; #服务器2   weight是权重的意思,权重越大,分配的概率越大
    } 



        location / {
            #root   html;
            proxy_pass   http://tomcat_list;
            index  index.html index.htm;
        }
  1. 然后重启nginx进入该目录
    “深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat
    然后输入(./nginx -s reload)回车重启
    此时负载均衡就搭配完成了

  2. 此时在两个Tomcat中进行部署项目
    “深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat
    部署完成后把两个服务器重启
    “深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat
    “深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat
    有数据说明成功了

三、前端项目打包

  1. 打包前要确定项目能正常运行且没有问题
  2. 进行打包前要改一下项目的配置
  3. 进到前台项目的config中的index.js中修改build中的内容(修改的在最后一行)
 build: {
    // Template for index.html
    index: path.resolve(__dirname, '../dist/index.html'),

    // Paths
    assetsRoot: path.resolve(__dirname, '../dist'),
    assetsSubDirectory: 'static',
    // assetsPublicPath: '/',修改前
     assetsPublicPath: './',//修改后
  1. 还要修改build文件夹中utils.js中的(添加一行 publicPath:‘…/…/’)
 if (options.extract) {
      return ExtractTextPlugin.extract({
        use: loaders,
        fallback: 'vue-style-loader',
        // 解决icon路径加载错误
               publicPath:'../../'
      })
    } else {
      return ['vue-style-loader'].concat(loaders)
    }
  }
  1. 改好之后就去本地文件夹下找到本项目的下一级cmd回车后在黑窗口输入npm run build

“深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat
这样就打包好了
“深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat
这个就是打包好的前台项目

四、Nginx部署前后端分离项目,同时实现负载均衡和动静分离

  1. 去到/usr/local/nginx/conf/的nginx.conf里进行编辑“深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat

  2. 建一个mypro文件夹
    “深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat

  3. 然后把前端所打包好的zip压缩包拖进去然后进入该文件夹目录

  4. 下载解压 unzip“深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat

  5. 然后解压,输入 unzip dist.zip
    “深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat
    此时解压完成,现在部署

  6. 这是我编辑的nginx.conf,后面那个是添加的( location ^~/api/)

location / {
            root   /usr/local/mypro/dist;
            #proxy_pass   http://tomcat_list;
            index  index.html index.htm;
        }
          
        location  ^~/api/ {
		       proxy_pass http://tomcat_list/;
         }  
  1. 然后刷新,如下进入目标目录(输入 [ ./nginx -s reload] 回车)
    “深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat
    访问发送请求的时候会有问题,所以
    “深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat

  2. win+r 输入(C:\Windows\System32\drivers\etc)回车编辑hosts 添加(192.168.238.129 localhost)

成功
“深入理解Nginx的负载均衡与动静分离“,nginx,负载均衡,运维,java,前端,tomcat

总结

本文深入探讨了Nginx的负载均衡和动静分离的原理与实践。通过对Nginx的基本概念、特点和安装配置的介绍,读者可以更好地理解Nginx的工作原理和使用方法。同时,通过对负载均衡和动静分离的详细讲解和实例演示,读者可以掌握如何使用Nginx提高系统的性能和可扩展性。希望本文对读者在实际应用中有所帮助。文章来源地址https://www.toymoban.com/news/detail-737510.html

到了这里,关于“深入理解Nginx的负载均衡与动静分离“的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nginx【反向代理负载均衡动静分离】--下

    示意图 图解 一个master 管理多个worker ● 争抢机制示意图 图解 一个master Process 管理多个worker process, 也就是说Nginx 采用的是多进程结构, 而不是多线程结构. 当client 发出请求(任务)时,master Process 会通知管理的worker process worker process 开始争抢任务, 争抢到的worker process 会开启连

    2024年02月08日
    浏览(41)
  • Nginx+Tomcat实现负载均衡、动静分离

    目录 一、Nginx负载均衡实现原理 1.Nginx 实现负载均衡是通过反向代理实现  2、Nginx配置反向代理主要参数 3、动静分离原理  4、Nginx静态处理优势 5、并发量和吞吐量计算 二:7层反向代理          1、环境准备 ​2、配置Nginx Server 3、tomcat1 和tomcat2配置 4、 搭建tomcat3 5、设置

    2024年02月05日
    浏览(40)
  • tomcat的负载均衡、动静分离(nginx联动)

    动静分离: 访问静态页面和动态页面分开 实现动态和静态页面负载均衡 实验5台虚拟机 一、动态负载均衡 3台虚拟机模拟: 代理服务器:30 tomcat动态页面:21、22 代理服务器:   proxy_pass http://tomcat;         proxy_set_header HOST $host;         proxy_set_header X-Real-IP $remote_a

    2024年02月08日
    浏览(33)
  • Nginx使用之反向代理、负载均衡、动静分离

    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强。 其他服务器介绍:Apache服务器、Tomcat服务器、Lighttpd服务器 正向代理 是代理用户客户端,为客户端发送请求, 对服务器隐藏自己的真实客户端。 用途:1

    2024年02月11日
    浏览(34)
  • Nginx+Tomcat负载均衡(反向代理)、动静分离集群

    Nginx:正向代理(知道目标服务器) 反向代理(不知道目标服务器) Nginx配置反向代理主要参数 upstream服务池名{}(F5(硬件)和nginx反向代理原理一样) 配置后端服务池,以提供响应数据 proxy_pass http://服务池名 配置将访问请求转发给后端服务器池的服务器处理 定义:将工作任务

    2024年02月13日
    浏览(30)
  • Nginx+Tomcat实现负载均衡、动静分离集群部署

    1、安装好JDK 2、安装tomcat 3、配置tomcat环境变量 4、修改tomcat2中的server.xml文件,要求各tomcat实例配置不能有重复的端口号 5、修改各tomcat实例中的startup.sh和shutdown.sh文件,添加tomcat环境变量 6、启动各tomcat中的/bin/startup.sh 7、浏览器访问测试 1、Nginx应用 Nginx是一款非常优秀的

    2024年02月08日
    浏览(77)
  • Nginx+Tomcat负载均衡、动静分离实例详细部署

    ●rr 轮询 负载均衡模式: 每个请求按时间顺序逐一分配到不同的后端服务器,如果超过了最大失败次数后(max_fails,默认1),在失效时间内(fail_timeout,默认10秒),该节点失效权重变为0,超过失效时间后,则恢复正常,或者全部节点都为down后,那么将所有节点都恢复为有效

    2024年02月13日
    浏览(26)
  • 利用nginx实现动静分离的负载均衡集群实战

    大家好,我是沐风晓月,今天我们利用nginx来作为负载,实现两台apache服务器的动静分离集群实战; 本文收录于沐风晓月的专栏《linux基本功-系统服务实战》,更多内容可以关注我的博客: https://blog.csdn.net/wisdom_futrue 本次用到的操作系统及服务: 本次实验一共需要3台服务器

    2024年02月02日
    浏览(27)
  • Nginx&&Tomcat架构的动静分离和负载均衡

    目录 一、Tomcat的多实例部署 1.创建 kgc 和 benet 项目目录和文件 2.修改 Tomcat 主配置文件     3.客户端浏览器访问验证 二、Nginx+Tomcat负载均衡架构原理 2.1 Nginx负载均衡的主要配置 2.2 Nginx+Tomcat负载均衡的优点  三、Nginx+Tomcat负载均衡实验 1.部署Nginx 负载均衡器 2.部署2台Tomca

    2024年02月12日
    浏览(24)
  • 3.Nginx+Tomcat负载均衡和动静分离群集

    Nginx是-款非常优秀的HTTP服务器软件 支持高达50 000个并发连接数的响应 拥有强大的静态资源处理能力 运行稳定 内存、CPU等系统资源消耗非常低 目前很多大型网站都应用Nginx服务器作为后端网站程序的反向代理及负载均衡器,提升整个站点的负载并发能力 正向代理:代理的是

    2024年02月08日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包