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

6.3. server.xml文件

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

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

#22--默认为8005--》修改为18005
<Server port="18005" shutdown="SHUTDOWN">  
#69--默认为8080--》修改为18080
<Connector port="18080" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" />
#116-默认为8009--》修改为18009
<Connector port="18009" protocol="AJP/1.3" redirectPort="8443" /> 

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

6.5. 启动Tomcat

./apache-tomcat-8080/bin/startup.sh
./apache-tomcat-18080/bin/startup.sh

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
    
  • Tomcat

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

    • 要注意memcached的版本

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

      • 配置tomcat/conf/server.xml
      • 相同项目如果想共享session,需要把jvmRoute命名一致
      • 如果你只有一个tomcat,忽略此步骤
      • <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm18080">
        </Engine>
        
    • 配置 tomcat/conf/context.xml

    • <Manager
        className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
        memcachedNodes="n1:192.168.88.100:11211"
        sticky="true"
        lockingMode="auto"
        sessionBackupAsync="false"
        requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
        sessionBackupTimeout="1000"    
       transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoT
      ranscoderFactory" />
      
    • 重启Tomcat服务器

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

    • session还是不-同的,需要设置cookie的domain
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx 是一个高性能的开源 Web 服务器和反向代理服务器。它的配置文件是一个重要的部分,影响着服务器的行为和性能。下面是对 Nginx 配置文件的详细解释: 1. 配置文件位置: Nginx 的配置文件通常位于 /etc/nginx/nginx.conf。此外,可以通过 include 语句包含其他配置文件,使配置更加模块化。 2. 基本结构: Nginx 的配置文件由多个指令和块组成。指令是配置文件的最小单位,而块是由一对花括号括起来的指令集合。配置文件从上到下按顺序解析,遇到块会进一步解析块内的指令。 3. 主要指令: - worker_processes:指定 Nginx 创建的进程数。通常设置为 CPU 核心数的倍数。 - events:配置 Nginx 处理连接和请求的事件模型。 - http:定义 HTTP 服务器的全局配置。 - server:定义一个虚拟主机(或称为 server block),可以包含多个 location 块。 - location:根据请求的 URI 匹配规则,定义不同的请求处理方式。 4. 常用配置选项: - listen:指定监听的 IP 地址和端口。 - server_name:指定虚拟主机的域名。 - root:指定网站根目录。 - index:指定默认的索引文件。 - location:根据匹配规则指定不同的处理方式,如代理、重定向、静态文件处理等。 5. 变量和指令: Nginx 支持一些内置变量和指令,用于实现动态的配置和请求处理。常见的变量包括 $uri、$args 和 $http_user_agent,常见的指令包括 if、rewrite 和 return。 6. 配置文件的重载: 在修改配置文件后,可以通过发送信号给 Nginx 进程来重新加载配置,而无需停止服务器。常用的信号有 HUP(重新加载配置)和 TERM(停止服务器)。 这些是 Nginx 配置文件的一些基本概念和常用指令。具体的配置方式和使用方法可以根据实际需求进行深入学习和探索。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值