• Nginx人门详解


    1、Nginx简介

    Nginx是一款轻量级的Web 服务器/反向代理服务器占有内存少,并发能力强官方测试nginx能够支撑5万并发链接,并且CPU、内存等资源消耗却非常低,运行非常稳定。

    2. 使用场景

    2.1. 高并发场景

    • 负载均衡(load Balance )
      • 在这里插入图片描述

      • 将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】

    2.2. 正向代理

    • 代理人明确买家的目标是谁,代理人帮我们去联系目标

    2.3. 反向代理

    • 客户只需要发送请求到代理服务器,代理服务器会将请求转发给内部的服务器去处理,处理完毕之后会将结果返回给客户
    • 但整个过程中客户和实际处理服务器是不会直接建立连接的
    • 在这里插入图片描述
      在这里插入图片描述

    3、Nginx源码安装

    4、 Nginx负载均衡

    4.1. 集群搭建

    4.2. 负载策略

    • 4.2.1. 请求轮询

      • 依次转发给配置的服务器
    • 4.2.2. 增加权重

      • 使用服务器权重,还可以进一步影响nginx负载均衡算法,谁的权重越大,分发到的请求就越多。
      • 说你行你就行不行也行
      • 在这里插入图片描述
    • 4.2.3. 最少连接数

      • 在连接负载最少的情况下,nginx会尽量避免将过多的请求分发给繁忙的应用程序服务器,而是将新请求分发给不太繁忙的服务器,避免服务器过载。
      • 在这里插入图片描述
    • 4.2.4. IpHash

      • 确保来自同一客户端的请求将始终定向到同一台服务器,除非此服务器不可用
      • 在这里插入图片描述

    5. 资源静态化

    5.1. 图床

    • 由外部服务器统一管理图片

    5.2. 配置静态资源

    6. 单Linux搭建多Tomcat

    6.1. 拷贝多台

    在这里插入图片描述

    6.2. 环境变量

    设置并执行 source /etc/profile

    #tomcat8080
    export CATALINA_HOME=/opt/bdp/apache-tomcat-8080
    export CATALINA_BASE=/opt/bdp/apache-tomcat-8080
    export TOMCAT_HOME=/opt/bdp/apache-tomcat-8080
    #tomcat18080
    export CATALINA_HOME18080=/opt/bdp/apache-tomcat-18080
    export CATALINA_BASE18080=/opt/bdp/apache-tomcat-18080
    export TOMCAT_HOME18080=/opt/bdp/apache-tomcat-18080
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    6.3. server.xml文件

    vim apache-tomcat-18080/conf/server.xml

    只需要修改tomcat18080即可,8080保持不变

    #22--默认为8005--》修改为18005
      
    #69--默认为8080--》修改为18080
    
    #116-默认为8009--》修改为18009
     
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    6.4. catalina.sh脚本

    vim apache-tomcat-18080/bin/catalina.sh

    只需要修改Tomcat18080即可,修改catalina.sh

    ####################113行开始添加
    export CATALINA_BASE=$CATALINA_BASE18080
    export CATALINA_HOME=$CATALINA_HOME18080
    export TOMCAT_HOME=$TOMCAT_HOME18080
    
    • 1
    • 2
    • 3
    • 4

    6.5. 启动Tomcat

    ./apache-tomcat-8080/bin/startup.sh
    ./apache-tomcat-18080/bin/startup.sh
    
    • 1
    • 2

    7. 虚拟主机

    虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成多台“虚拟”的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完整的Intemet服务器功
    能(WWW、FTP、Email等),同一台主机上的虚拟主机之间是完全独立的。从网站访问者来看,每一台虚拟主机和一台独立的主机完全一样

    分类

    • 1、基于域名的虚拟主机,通过域名来区分虚拟主机
    • 2、基于端口的虚拟主机,通过端口来区分虚拟主机

    8. Session一致性

    • 节点分布
      在这里插入图片描述

    • 内存数据库

    • 安装数据库

      • yum install memcached -y
    • 开启数据库服务

    • systemctl status memcached
      systemctl start memcached
      systemctl enable memcached
      vim /etc/sysconfig/memcached
      
      • 1
      • 2
      • 3
      • 4
    • Tomcat

      • 拷贝jar包到当前服务器lib目录下

      • 要注意memcached的版本

      • 如果一个机器有多个tomcat都需要session一致

        • 配置tomcat/conf/server.xml
        • 相同项目如果想共享session,需要把jvmRoute命名一致
        • 如果你只有一个tomcat,忽略此步骤
        • 
          
          
          • 1
          • 2
      • 配置 tomcat/conf/context.xml

      • 
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
      • 重启Tomcat服务器

    • 访问发现同一个server是可以共享session的,但是不同server因为涉及到跨域的问题

      • session还是不-同的,需要设置cookie的domain
  • 相关阅读:
    Innodb的七种锁
    C++:char和char16_t相互转换
    【Linux】环境基础开发工具使用 - 软件包管理yum _vim _gcc/g++ _gdb
    英文转换-在线英文批量转换器免费
    Windows 11 中打印时提示打印机不兼容,都来是“+”惹的祸
    el-dialog el-select适配移动端
    JS高级-语言特性(持续更新一)
    线性代数学习笔记8-2:对称矩阵和Hermitian矩阵、共轭转置、正定矩阵
    C语言程序编译过程中自动添加编译时间等相关信息
    LODOP.ADD_PRINT_TEXT 参数解释说明
  • 原文地址:https://blog.csdn.net/m0_49303490/article/details/126160064