随笔分类 - 黄嘉波-笔记汇总
摘要:在 Linux 中,Nginx 可以通过多种方式实现对后端服务的健康检查,主要包括被动健康检查和主动健康检查。以下是详细的实现方法和配置示例: 1. 被动健康检查(Passive Health Checks) 被动健康检查是 Nginx 默认的健康检查方式,它通过观察代理请求的实际响应来判断后端服务
阅读全文
摘要:在 Linux 中,Nginx 虚拟主机(Virtual Host)是通过 Server Blocks 来实现的。这些 Server Blocks 允许在一台物理服务器或虚拟服务器上托管多个网站或域名。以下详细介绍 Nginx 虚拟主机的类型、配置方法和常见用途: 1. Nginx 虚拟主机的类型
阅读全文
摘要:Nginx 是一款高性能的 Web 服务器和反向代理服务器,它以高效处理 HTTP 请求而闻名。Nginx 的设计基于事件驱动和非阻塞 I/O 模型,这使得它能够同时处理大量并发连接,而不会像传统服务器(如 Apache)那样为每个连接分配一个线程或进程。以下是 Nginx 处理 HTTP 请求的详
阅读全文
摘要:在运维工作中,Kafka 中的 Zookeeper 起到了非常重要的作用。以下是 Zookeeper 在 Kafka 中的具体作用: 1.Zookeeper 在 Kafka 中的作用 元数据管理: Zookeeper 存储 Kafka 集群的元数据,包括主题和分区的信息、各个分区的 Leader 和
阅读全文
摘要:在 Kafka 的运维工作中,了解其核心术语至关重要,因为这些术语定义了 Kafka 的架构和工作原理。以下是 Kafka 中的一些关键术语及其详细解释: 1. Broker Broker 是 Kafka 中的一个服务器实例,负责存储和管理数据。一个 Kafka 集群由多个 Broker 组成,每个
阅读全文
摘要:在运维工作中,了解 Zabbix 的常用术语对于有效管理和使用监控系统至关重要。以下是 Zabbix 中的一些关键术语及其详细解释: 1. Host(主机) 主机是被监控的设备,如服务器、网络设备等。 作用: 定义被监控的目标。 可以配置多个监控项(Items)和触发器(Triggers)。 2.
阅读全文
摘要:Prometheus 是一个开源的监控和告警系统,广泛应用于运维工作中。以下是 Prometheus 的工作原理的详细解析: 1. 核心组件 Prometheus 的架构由多个核心组件组成,每个组件都承担着特定的功能: Prometheus Server:作为监控系统的核心,负责从各种目标(targ
阅读全文
摘要:在运维工作中,Elasticsearch 提供了丰富的插件生态系统,这些插件可以显著扩展其功能,满足不同的业务需求。以下是一些常用的 Elasticsearch 插件,按功能分类介绍: 1. 分析插件 IK Analyzer:适用于中文分词,提供了针对中文文本的分析器。 Smart Chinese
阅读全文
摘要:在 Linux 环境中,Tomcat 默认使用三个主要端口,每个端口都有其特定的作用: 1. HTTP/HTTPS 端口(默认 8080 或 443) 作用:这是 Tomcat 用于接收和处理 HTTP 或 HTTPS 请求的端口。默认情况下,HTTP 请求监听在 8080 端口,而 HTTPS 请
阅读全文
摘要:在 Linux 环境中,Tomcat 作为 Web 服务器具有以下优缺点: 1. 优点 开源免费 Tomcat 是开源软件,无需支付许可费用,降低了部署成本。 高性能 Tomcat 专为处理 Java Web 应用而设计,支持 Java Servlet 和 JavaServer Pages (JSP
阅读全文
摘要:在 Linux 系统中,Apache 和 Nginx 是两种非常流行的 Web 服务器软件,它们在架构、性能、配置方式等方面存在诸多区别,以下是详细对比: 1. 架构设计 Apache: 采用同步多进程或多线程模型,每个连接对应一个进程或线程。例如,其 mpm_prefork 模式为每个连接创建独立
阅读全文
摘要:在Linux中,epoll主要由以下三个函数组成,这些函数共同实现了高效的I/O多路复用机制: 1. epoll_create 或 epoll_create1 功能:创建一个新的epoll实例,并返回一个文件描述符(FD),用于后续操作。 函数原型: int epoll_create(int siz
阅读全文
摘要:在 Linux 环境中,Nginx 的性能通常被认为优于 Apache,主要原因如下: 1. 事件驱动架构 Nginx 采用事件驱动的异步非阻塞架构,而 Apache 通常使用基于进程或线程的模型。在高并发场景下,Apache 需要为每个连接分配一个独立的进程或线程,这会导致大量内存占用和上下文切换
阅读全文
摘要:在Linux中,Nginx实现四层负载均衡主要通过其stream模块来完成。四层负载均衡工作在网络模型的第四层(传输层),基于IP地址和端口号进行流量分发,适用于TCP和UDP协议。以下是实现Nginx四层负载均衡的详细步骤和配置方法: 1. 四层负载均衡的工作原理 四层负载均衡主要通过报文中的目标
阅读全文
摘要:在Linux中,Nginx实现负载均衡主要有以下几种方式,每种方式都对应不同的配置策略和使用场景: 1. 轮询(Round Robin) 轮询是Nginx默认的负载均衡策略,会将请求按顺序轮流分配到后端服务器上。如果后端服务器宕机,Nginx会自动将其剔除。 配置示例: upstream backe
阅读全文
摘要:在Linux中,Nginx实现负载均衡功能时会用到多个核心模块和一些扩展模块。这些模块共同协作,提供了强大的负载均衡能力,支持多种负载均衡策略、健康检查、会话保持等功能。以下是Nginx负载均衡中常用的模块及其功能的详细介绍: 1. 核心模块 1.1 ngx_http_upstream_module
阅读全文
摘要:在Linux中,Nginx作为负载均衡器时,提供了多种灵活的负载均衡策略,可以根据不同的业务需求和场景选择合适的策略。以下是Nginx常用的负载均衡实现策略及其详细说明: 1. 轮询(Round Robin) 轮询是最简单的负载均衡策略,请求会依次分配到每个后端服务器。适用于服务器性能相近且无会话状
阅读全文
摘要:在运维工作中,如果需要查找三级目录中的文件,并提取每个文件最后一行的第一个字母,可以使用以下两种方法:find命令结合tail和cut,以及find命令结合awk。这两种方法都能高效地完成任务,具体选择取决于个人偏好和实际需求。 1. 使用find命令结合tail和cut 1.1 分两步 使用fin
阅读全文
摘要:在运维工作中,使用Shell脚本检查多个主机的时间,并找出与当前主机时间不匹配的节点,同时计算时间间隔,是一个非常实用的任务。以下是一个详细的步骤和脚本示例,帮助你完成这个任务。 1. 目标 获取当前主机的时间。 通过SSH连接到其他主机,获取它们的时间。 比较每个主机的时间与当前主机的时间,计算时
阅读全文
摘要:在运维和持续集成/持续交付(CI/CD)的上下文中,Pipeline(流水线) 是一个自动化流程,用于将代码从版本控制系统(如Git)自动构建、测试、部署到生产环境。Stage(阶段) 和 Step(步骤) 是 Pipeline 中的两个关键概念,它们在功能和作用上有所不同。以下是它们的详细区别:
阅读全文