标签: Nginx

温酒 | 2024-06-18 | Nginx

nginx中的正则表达式和location路径匹配指南

前言,我这里验证的nginx-v1.23.2单机环境下的nginx中的 正则表达式 、location路径匹配规则和优先级。 先准备好环境,基础配置是这样 nginx/conf/conf.d/host.conf : server { listen 8081; server_name 10.90.5.70; proxy_connect_timeout 60; proxy_read_timeout 600; proxy_send_timeout 600; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto "http"; proxy_set_header Host $host; proxy_

 417 |  0 |  0 Nginx

心如止水 | 2024-05-09 | Nginx

死磕nginx系列-nginx日志配置

nginx access日志配置 access_log日志配置 access_log用来定义日志级别,日志位置。语法如下: 日志级别: debug info notice warn error crit alert emerg 语法格式: access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]]; access_log off; 默认值 : access_log logs/access.log combined; 作用域 : http, server, location, if in location, limit_except 实例一: access_log /spool/logs/nginx-access.log compression buffer=32k; log_format 定义日志格式 语法格式: log_

 254 |  0 |  0 Nginx

青木 | 2024-04-19 | Nginx

写给高级前端的 Nginx 知识,一网打尽!!

引言 早期的业务都是基于单体节点部署,由于前期访问流量不大,因此单体结构也可满足需求,但随着业务增长,流量也越来越大,那么最终单台服务器受到的访问压力也会逐步增高。时间一长,单台服务器性能无法跟上业务增长,就会造成线上频繁宕机的现象发生,最终导致系统瘫痪无法继续处理用户的请求。 ❝ 从上面的描述中,主要存在两个问题:①单体结构的部署方式无法承载日益增长的业务流量。②当后端节点宕机后,整个系统会陷入瘫痪,导致整个项目不可用。 ❞ 因此在这种背景下,引入负载均衡技术可带来的收益: 「系统的高可用:」 当某个节点宕机后可以迅速将流量转移至其他节点。 「系统的高性能:」 多台服务器共同对外提供服务,为整个系统提供了更高规模的吞吐。 「系统的拓展性:」 当业务再次出现增长或萎靡时,可再加入/减少节点,灵活伸缩。 OK ,既然引入负载均衡技术可给我们带来如此巨大的好处,那么又有那些方案可供选择呢?主要有两种负载方案, 「「硬件层面与软件层面」」 ,比较常用的硬件负载器有 A10、F5 等,但这些机器动辄大几万乃至几十万的成本,因此一...

 286 |  1 |  0 Nginx

柚香 | 2024-02-26 | HttpNginx

Nginx 核心架构设计和原理

Nginx 核心架构设计和原理 Nginx 是一个免费的、开源的、高性能 Http 服务器和反向代理。Nginx 的架构设计是为了提供高性能、稳定性和可扩展性。 以下是 Nginx 的主要架构组件和工作原理: 1. Master 进程 : Nginx 的运行始于一个 master 进程,它负责管理所有的工作进程。 master 进程负责读取和解析配置文件,并启动工作进程。 2. 工作进程 : 一旦 master 进程启动,它会生成一组工作进程。 每个工作进程都是独立运行的,负责处理来自客户端的连接和请求。 工作进程之间相互独立,可以并行处理请求,提高了 Nginx 的性能和吞吐量。 1. [事件驱动模型]() : Nginx 采用了事件驱动的模型,主要利用了操作系统提供的异步 I/O 机制。 当有新的连接建立或者数据可读写时,Nginx 不会阻塞等待,而是通过事件...

 365 |  0 |  0 HttpNginx

晚风 | 2024-01-25 | Spring 全家桶后端相关Nginx

解决跨域问题的8种方法,含网关、Nginx和SpringBoot~

跨域问题是浏览器为了保护用户的信息安全,实施了同源策略(Same-Origin Policy),即只允许页面请求同源(相同协议、域名和端口)的资源,当 JavaScript 发起的请求跨越了同源策略,即请求的目标与当前页面的域名、端口、协议不一致时,浏览器会阻止请求的发送或接收。 解决跨域问题方案 跨域问题可以从以下方面解决: 1. 应用层面解决 :例如 Spring Boot 项目中解决跨域问题。 2. 反向代理解决 :例如 Nginx 中解决跨域问题。 3. 网关中解决 :例如 [Spring Cloud Gateway]() 中解决跨域问题。 而这 3 类解决方案,总共包含了 8 种解决方案,一起来看。 1.Spring Boot 中解决跨域 在 Spring Boot 中跨域问题有以下 5 种解决方案: 1. 使用 @CrossOrigin 注解实现跨域【局域类跨域】 2. 通过配置文件实现跨域【全局跨域】 3. 通过 CorsFilter 对象实现跨域【全局跨域】 4. 通过 Response 对象实现跨域【局域方法跨域】 5. ...

 423 |  0 |  0 Spring 全家桶后端相关

奈我何 | 2023-10-12 | Nginx

Nginx 知识点一网打尽:动静分离、压缩、缓存、跨域、高可用、性能优化

引言 早期的业务都是基于单体节点部署,由于前期访问流量不大,因此单体结构也可满足需求,但随着业务增长,流量也越来越大,那么最终单台服务器受到的访问压力也会逐步增高。时间一长,单台服务器性能无法跟上业务增长,就会造成线上频繁宕机的现象发生,最终导致系统瘫痪无法继续处理用户的请求。 从上面的描述中,主要存在两个问题: ①单体结构的部署方式无法承载日益增长的业务流量。 ②当后端节点宕机后,整个系统会陷入瘫痪,导致整个项目不可用。 因此在这种背景下,引入负载均衡技术可带来的收益: 系统的高可用:当某个节点宕机后可以迅速将流量转移至其他节点。 系统的高性能:多台服务器共同对外提供服务,为整个系统提供了更高规模的吞吐。 系统的拓展性:当业务再次出现增长或萎靡时,可再加入/减少节点,灵活伸缩。 OK ,既然引入负载均衡技术可给我们带来如此巨大的好处,那么又有那些方案可供选择呢?主要有两种负载方案, 硬件层面与软件层面 ,比较常用的硬件负载器有 A10、F5 等,但这些机器动辄大几万乃至几十万的成本,因此一般大型企业会采用该方案,如银行、国企、央企等...

 348 |  1 |  0 Nginx

柚香 | 2023-09-26 | Nginx

如何保持会话粘性,看看 Nginx 怎么做的

背景 最近有个项目需求: 来自同一客户端的所有请求都被发送到同一个后端服务器,以确保会话数据或状态在服务器之间保持一致。 会话粘性 根据上面的需求,其实就是如何实现会话粘性。 会话粘性(Session Affinity):也称为会话持久性(Session Persistence)或会话坚持(Session Stickiness),是一种负载均衡策略,其中来自同一客户端的所有请求都被路由到相同的后端服务器。这样做的目的是确保在多个服务器之间保持用户的会话数据或状态的一致性。通常,会话粘性通过客户端的标识信息来实现,最常见的标识信息是客户端的 IP 地址或Cookie。 客户端和服务端之间的交互如下图所示: 实现方案 Nginx 可以根据客户端的 IP 地址,将请求路由到不同的后端服务器。如下图所示: ![图片](https://static.developers.pub/d3b4cca08407449da5...

 458 |  0 |  0 Nginx

温酒 | 2023-03-24 | Nginx

Nginx 常用的基础配置(web前端相关方面)

基础配置 user root; worker_processes 1; events { worker_connections 10240; } http { log_format '$remote_addr $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"'; include mime.types; default_type application/octet-stream; sendfile on; autoindex on; autoindex_exact_size

 773 |  0 |  0 Nginx

流苏 | 2023-03-19 | Nginx

Nginx一网打尽:动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化...

引言 早期的业务都是基于单体节点部署,由于前期访问流量不大,因此单体结构也可满足需求,但随着业务增长,流量也越来越大,那么最终单台服务器受到的访问压力也会逐步增高。时间一长,单台服务器性能无法跟上业务增长,就会造成线上频繁宕机的现象发生,最终导致系统瘫痪无法继续处理用户的请求。 ❝从上面的描述中,主要存在两个问题:①单体结构的部署方式无法承载日益增长的业务流量。②当后端节点宕机后,整个系统会陷入瘫痪,导致整个项目不可用。 ❞ 因此在这种背景下,引入负载均衡技术可带来的收益: 「系统的高可用:」 当某个节点宕机后可以迅速将流量转移至其他节点。 「系统的高性能:」 多台服务器共同对外提供服务,为整个系统提供了更高规模的吞吐。 「系统的拓展性:」 当业务再次出现增长或萎靡时,可再加入/减少节点,灵活伸缩。 OK ,既然引入负载均衡技术可给我们带来如此巨大的好处,那么又有那些方案可供选择呢?主要有两种负载方案, 「「硬件层面与软件层面」」 ,比较常用的硬件负载器有 A10、F5 等,但这些机器动辄大几万乃至几十万的成本,...

 1068 |  0 |  0 Nginx