nginx配置说明

embedded/2024/9/25 23:11:25/

目录标题

    • 基础配置说明
    • 配置说明思维导图
    • 基于反向代理的负载均衡器
    • 负载均衡策略

基础配置说明

需要注意的几个点:

  1. nginx 的 log 文件路径配置
  2. nginx.pid 所在路径配置
  3. include 所在路径配置,即 nginx.conf 所在路径
  4. 在 server 中
    listen 监听端口配置
    root 访问工程路径配置
    include 配置 nginx.conf 所在路径配置

配置说明思维导图

  1. 全局块:影响 nginx 全局指令,包括用户组、pid 存放路径、日志路径、配置文件引入、允许生成 worker process 数等

  2. events 块:影响 nginx 服务器与用户的网络连接,包含每个进程最大连接数、选取哪种事件驱动模型处理连接请求、是否允许同时接收多个网络连接、开启多个网络连接序列化等

    • accept_mutex:on 设置网络连接序列化,防止惊群现象发生,默认为 on
    • multi_accept:设置一个进程是否同时接收多个网络连接,默认为 off
    • use:epoll 事件驱动模型 select/poll/kqueue/epoll/resig/dev/poll/eventport
    • worker_connections:1024 最大连接数,默认为512
  3. http块:可以嵌套多个 server,配置代理、缓存、日志定义等功能和第三方模块的定义,如 mime-type、文件引入、日志自定义、连接超时时间、但连接请求数等

    • include:mime-type 文件扩展名与文件类型映射表
    • default_type:默认文件类型,默认为 text/plain
    • access_log:off 表示取消服务日志
    • sendfile:on 表示允许sendfile方式传输文件,默认为 off,可以在http、server、location中设置
    • sendfile_max_chunk:每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限
    • keepalive_timeout:连接超时时间,默认为75秒,可以在http、server、location中设置
    • upstream:配置服务器地址列表,可以用在 location 中的 proxy_pass 中,
      格式:upstream mz{
      server 127.0.0.1:8080;
      server 10.110.2.101:8080;
      }
    • error_page:错误页,如 404 http://baidu.com
  4. server块:配置虚拟主机的相关参数

    • listen:监听的地址,IP+端口 | 端口
    • server_name:设置域名
    • charset:设置网页字符集 utf-8
    • access_log:日志文件路径
    • keepalive_requests:单连接请求上限次数
  5. location块:配置请求的路由,以及各种页面的处理情况

    • root:设置前端静态资源的所在路径
    • index:默认主页设置
    • auth_basic:设置密码提示框文字信息
    • auth_basic_user_file:指定密码文件所在位置
    • deny:拒绝访问的客户端 IP
    • allow:all 表示允许其他所有客户端访问,可以指定单个允许访问的 IP
    • proxy_pass:代理服务器地址,请求会分发到指定的服务器,可以使用 http 块中定义的服务器地址,如:http://mz

在这里插入图片描述

基于反向代理的负载均衡器

  1. upstream 块定义了一个名为 backend 的 upstream 组,其中列出了多个后端服务器的地址或域名。你可以根据实际情况添加或删除后端服务器。
  2. server 块定义了监听的端口和域名。
  3. location / 块是针对根路径 / 的请求进行配置。proxy_pass 指令将请求转发到名为 backend 的 upstream 组中的后端服务器。
  4. proxy_set_header 指令用于设置请求头,将原始请求的主机和真实 IP 地址传递给后端服务器。

负载均衡策略

  1. 轮询(Round Robin):默认的负载均衡策略,Nginx 会将请求按照顺序依次轮询转发给后端服务器。
  2. IP哈希(IP HASH):根据客户端的 IP 地址,对请求地址进行 HASH 计算,并将请求发送给对应的后端服务器,可以保证相同的 IP 地址会发送到相同地址的后端服务器。
  3. 最少连接数(Least Connections):Nginx会根据后端服务器的请求连接数,将请求发送给连接数最少的服务器处理请求。
  4. 权重(Weighted):给每个后端服务器设置一个权重值,根据权重值来分配请求,具有较高权重值的服务器可以分配到更多的请求。
  5. URL 哈希(URL HASH):同 IP 哈希,可以将相同的 URL 地址发送给对应相同的后端服务器。

http://www.ppmy.cn/embedded/17619.html

相关文章

GenN2N: Generative NeRF2NeRF Translation

GenN2N: Generative NeRF2NeRF Translation GenN2N:生成NeRF2NeRF翻译 Xiangyue Liu1 Han Xue2 Kunming Luo1 Ping Tan12 Li Yi2,3,42 相约刘寒雪 2 昆明罗平谭 2 李毅 2, 3, 4 2 1 Hong Kong University of Science and Technology 2 Tsinghua Univ…

2024年深圳杯东三省数学建模联赛赛题浅析

深圳杯&东三省数学建模联赛赛题浅析 赛题难度 一图如下所示 题目复杂性技术需求数据处理主要难点总体评估A题:多个火箭残骸的准确定位222精确处理误差和定位精度1B题:批量工件并行切割下料问题344最大化材料利用率和多动态切割头协调3C题&#xff…

OpenHarmony音视频—opus

简介 Opus是一种用于在互联网上进行交互式语音和音频传输的编解码器。它可以从低比特率窄带语音扩展到非常高的高品质立体声音乐。 下载安装 直接在OpenHarmony-SIG仓中搜索opus并下载。 使用说明 以OpenHarmony 3.1 Beta的rk3568版本为例 将下载的opus库代码存在以下路径&a…

(三)登录和注册(handle_auto.go)

登录和注册(handle_auto.go) 文章目录 登录和注册(handle_auto.go)一、所需要的结构体信息二、注册三、登录四、退出 一、所需要的结构体信息 type UserAuth struct{}type LoginReq struct {Username string json:"username" binding:"required"Password …

每日一题(力扣55):跳跃游戏--贪心

刚开始像这道题&#xff0c;想的是这么从当前可以走的那几步中选择一步&#xff0c;所以一坨屎一样的代码 class Solution { public:bool canJump(vector<int>& nums) {int nnums.size();int step0;int u0;int u_max0;int step_size0;int max_size0;int loci0;while…

利用EFK对日志进行采集

首先先安装EFK docker-compose.yml version: 3 #如果已经安装过elasticsearch可将elasticsearch下配置全部删除 services:elasticsearch:image: elasticsearch:7.14.0ports:- "9200:9200"environment:- discovery.typesingle-node- ES_JAVA_OPTS-Xmx256m -Xms256mk…

低空经济+飞行汽车:载人无人机技术详解

低空经济与飞行汽车是近年来备受关注的话题。随着科技的不断进步&#xff0c;尤其是无人机技术的快速发展&#xff0c;飞行汽车已经从科幻概念逐渐变为现实。以下是对低空经济与飞行汽车&#xff0c;特别是载人无人机技术的详解&#xff1a; 1. 低空经济&#xff1a; 定义&…

Linux服务器网络问题排查思路

服务器网络问题排查 一.测试是否能ping通其他服务器 ping <其他电脑的IP>如图是网段互通的情况 如图是不互通的情况 该命令是最常用的命令&#xff0c;主要功能如下&#xff1a; 网络连通性&#xff1a; ping 用于检查两台主机之间是否可以相互通信。如果目标主机可达…