Nginx 配置文件的完整指南 (一)

news2025/1/22 8:41:38

文章目录

    • 一、简介
      • 1.1 配置文件一览
    • 二、全局配置
      • 2.0 user
      • 2.1 worker_processes
      • 2.2 events模块
      • 2.3 http模块
    • 三、server模块
      • 3.1 listen
      • 3.2 server_name
      • 3.3 location:请求处理位置

Nginx 配置文件的完整指南 (二)

一、简介

  Nginx是一款高性能的Web服务器和反向代理服务器,它的配置文件起着关键的作用。Nginx配置文件定义了服务器的行为和特性,允许管理员对服务器进行灵活的配置和定制。

1.1 配置文件一览

  Nginx的主配置文件nginx.conf的内容如下:

在这里插入图片描述



二、全局配置


  全局配置顾名思义全局生效,只需要配置一次即可。

2.0 user

  指定Nginx worker进程运行的用户和用户组,要和nginx.conf文件设置的用户访问权限一致。

user root;

2.1 worker_processes

  worker_processes用于设置Nginx的工作进程数。每个工作进程都可以处理并发的连接请求。

worker_processes 4;   # 表示Nginx将启动4个工作进程来处理连接请求

  一般来说,可以设置为CPU核心数的2倍,以充分利用服务器的资源。但是,过多的工作进程可能会导致资源竞争和性能下降,因此需要根据实际情况进行调整。

  还可以考虑使用auto关键字设置为自动获取CPU核心数的值。

worker_processes auto;

2.2 events模块

  用于配置Nginx的事件模块,包括并发连接数等参数设置。

events {
    worker_connections 1024;
}

  worker_connections:设置每个工作进程的最大并发连接数。每个连接都会占用一定的内存,因此需要根据服务器资源和预期负载来调整该值。一般建议将其设置为1024或更高。


2.3 http模块

  用于配置HTTP服务器的行为和特性,包括配置MIME类型、日志、缓冲、压缩、反向代理、负载均衡等,是我们填写配置的核心区域。

http {
    include       mime.types;
    default_type  application/octet-stream;
    
    # 日志配置
    access_log  /var/log/nginx/access.log  main;
   	..........
    
    # 连接超时和缓冲区配置
    client_body_timeout 12s;
	..........
    
    # 压缩配置
    gzip on;
	..........
    
    # 路由和反向代理配置
    server {
		..........
    }
    
    # SSL/TLS 配置
    server {
        listen       443 ssl;
		..........
    }
}

  1. include mime.types;:用于包含一个名为 mime.types 的文件。该 文件定义了 MIME 类型与文件扩展名之间的映射关系。

    • MIME 类型用于标识文件的内容类型,例如 text/html 表示 HTML 文件,image/jpeg 表示 JPEG 图像文件等。通过包含 mime.types 文件,Nginx 可以根据文件扩展名来确定响应的 MIME 类型,并在处理请求时使用适当的 MIME 类型。
  2. default_type application/octet-stream;:设置默认的 MIME 类型。如果 Nginx 在处理请求时无法确定文件的 MIME 类型,将使用 application/octet-stream 作为默认的 MIME 类型。

    • application/octet-stream是一个通用的二进制流类型,表示未知或不可识别的文件类型。



三、server模块


  server块是Nginx配置文件中定义基本服务器的关键部分。每个server块定义了一个虚拟主机或服务器的配置。

3.1 listen

  设置服务器监听的端口和地址,可以根据需要设置不同的端口号,一个server只能设置一个监听端口。

server {
    listen 80;  # 监听80端口的所有请求
}

3.2 server_name

  设置服务器的名称或域名。

  当客户端发送请求到 Nginx 服务器时,Nginx 会根据请求中的域名与配置文件中的 server_name 进行匹配。如果请求的域名与某个服务器块的server_name匹配成功,Nginx 将使用该服务器块来处理请求。

  可以使用以下几种方式进行配置:

  1. 单个域名:例如,server_name example.com;,表示只匹配请求的域名为 example.com 的情况。
server {
    server_name example.com;
}
  1. 多个域名:可以使用空格或逗号分隔多个域名。例如,server_name example.com www.example.com;,表示匹配请求的域名为 example.comwww.example.com 的情况。
server {
    server_name example.xxx.com test.xxx.com;
}
  1. 通配符:可以使用通配符来匹配多个域名。例如,server_name *.example.com;,表示匹配所有以 example.com 作为后缀的域名。

  2. 正则表达式:可以使用正则表达式来进行更灵活的匹配。例如,server_name ~^(www\.)?example\.com$;,表示匹配以 example.comwww.example.com 开头的域名。


3.3 location:请求处理位置

  用于匹配不同的 URL 路径,并指定相应的处理方式,如代理请求、返回静态文件、执行脚本等。

  location 可以在全局配置块中使用,也可以在 server 块或 location 块中使用。

  1. 精确匹配:
location = /path {
    # 处理 /path 的请求
    ...
}
  1. 前缀匹配:
location ^~ /static {
    # 处理以 /static 开头的请求
    root /var/www/html;
    ...
}
  1. 正则表达式匹配:
location ~ \.(jpg|png)$ {
    # 处理以 .jpg 或 .png 结尾的请求
    root /var/www/images;
    ...
}
  1. 常规匹配:
location /path {
    # 处理包含 /path 的请求
    ...
}

  需要注意指令的匹配顺序非常重要,因为 Nginx 将按照配置文件中location指令的顺序进行匹配。因此应该将最具体的匹配规则放在前面,以确保正确的匹配和处理顺序。


Nginx 配置文件的完整指南 (二)——反向代理、负载均衡配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/895301.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字孪生三维可视化系统开发平台有哪些优点

随着企业数字化发展的深入,迅速增多的场景化需求要求企业具备更加灵活、敏捷、易用的应用开发能力。而高效、便捷、易用、低本的数字孪生系统制作也是大势所趋,数字孪生公司深圳华锐视点基于3d可视化、数字孪生和VR虚拟仿真技术搭建了3D数字孪生编辑器&a…

【Axure高保真原型】JS日期选择器筛选中继器表格

今天和大家分享JS日期选择器筛选中继器表格的原型模板,通过调用浏览器的日期选择器,所以可以获取真实的日历效果,具体包括哪一年二月份有29天,几号对应星期几,都是真实的,获取日期值后,通过交互…

python 使用 pdf2image 库将PDF转换为图片

在 Ubuntu 上实现网络穿透:手把手教你搭建FRPS服务器 初环境步骤一:安装pdf2image库步骤二:导入必要的库步骤三:指定PDF文件路径步骤四:将PDF转换为图片步骤五:保存图像为图片文件完整代码运行结果 在数字化…

Linux内核常用调试技巧汇总

printk printk共有8个等级,从0-7,等级依次降低。 打印等级可以通过修改/proc/sys/kernel/printk来改变。 查看printk等级: cat /proc/sys/kernel/printk 7 4 1 7打开内核所有打印: echo 8 > /proc/sys/kernel/printk 动态…

VK36W1D浴缸,洁具高灵敏度电容式单点液体水位检测触摸芯片资料介绍

产品品牌:永嘉微电/VINKA 产品型号:VK36W1D 封装形式:SOT23-6L 产品年份:新年份 (C21-163) 产品特点:VK36W1D具有1个触摸检测通道,可用来检测水从无到有和水从有到无的动作。该…

神经网络论文研读-多模态方向-综述研读(上)

翻译以机翻为主 原文目录 前言 图1:LMU印章(左)风格转移到梵高的向日葵绘画(中)并与提示混合 - 梵高,向日葵 -通过CLIPVGAN(右)。在过去的几年中,自然语言处理&#xff…

【MySQL系列】表内容的基本操作(增删查改)

「前言」文章内容大致是对MySQL表内容的基本操作,即增删查改。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、MySQL表内容的增删查改1.1 Create1.1.1 单行数据全列插入1.1.2 多行数据指定列插入1.1.3 插入否则更新1.1.4 数据替换 1.2 Ret…

Vue 2自定义指令入门

Vue 2自定义指令入门 Vue自定义指令允许我们在DOM元素上添加自己想要的行为来扩展Vue的功能。 一个自定义指令需要一个名称和一个定义对象。在定义对象中,你可以使用一些钩子函数来控制指令的行为: bind:在指令被绑定到元素上时使用&#…

ShardingSphere 可观测 SQL 指标监控

ShardingSphere并不负责如何采集、存储以及展示应用性能监控的相关数据,而是将SQL解析与SQL执行这两块数据分片的最核心的相关信息发送至应用性能监控系统,并交由其处理。 换句话说,ShardingSphere仅负责产生具有价值的数据,并通过…

类加载 - 双亲委派机制详解

1、类加载器有哪些 启动类加载器(Bootstrap Class Loader):它是Java虚拟机的一部分,负责加载Java核心类库,如java.lang包中的类。它是最顶层的类加载器,由C实现,不是Java类。 扩展类加载器&…

效率逆天GPT-4一天顶6个月,颠覆审核行业

内容审核一直被视为互联网大厂中的脏活和累活。就拿审文章来说,审核员们一天要审约2000篇文章,724h工作制,经常过着昼夜颠倒的日子,更要命的是,他们每天都要接收各种低俗污秽内容,久而久之,心理…

4.物联网LWIP之C/S编程

LWIP配置 服务器端实现 客户端实现 错误分析 一。LWIP配置(FREERTOS配置,ETH配置,LWIP配置) 1.FREERTOS配置 为什么要修改定时源为Tim1?不用systick? 原因:HAL库与FREERTOS都需要使用systi…

MQTT协议--技术文档--搭建mqtt服务器--《EMQX单体服务器部署》

产品概览 | EMQX 5.1 文档 什么是EMQX? EMQX 是一款开源 (opens new window)的大规模分布式 MQTT 消息服务器,功能丰富,专为物联网和实时通信应用而设计。EMQX 5.0 单集群支持 MQTT 并发连接数高达 1 亿条,单服务器的传输与处理…

前端开发工具及环境配置

1.前端开发环境node npm环境配置 第一步:打开Download | Node.js (nodejs.org)下载,解压。 找到下载压缩包进行解压 解压到D盘目录下: 第二步:配置环境变量:右击此电脑点击属性进入高级系统设置 点击高级系统设置进入…

泛微E8配置自定义触发流程失败

在新公司接了个配置泛微流程触发的活。因为泛微的官方文档并没有详细的操作指引,在测试环境配置之后、要触发的流程可以手工提交,但是触发一直不成功。简单记录下业务场景和其他处理信息,以供参考。 应用版本 目前使用了泛微 E8 &#xff0…

无涯教程-Perl - warn函数

描述 此函数将LIST的值打印到STDERR。基本上与die函数相同,除了不对出口进行任何调用并且在eval语句内不引发异常。这对于引发错误而不导致脚本过早终止很有用。 如果变量$包含一个值(来自先前的eval调用),并且LIST为空,则$的值将以。\t.caught打印。附加到末尾。如果$和LIST…

GPT-4一纸重洗:从97.6%降至2.4%的巨大挑战

斯坦福大学和加州大学伯克利分校合作进行的一项 “How Is ChatGPTs Behavior Changing Over Time?” 研究表明,随着时间的推移,GPT-4 的响应能力非但没有提高,反而随着语言模型的进一步更新而变得更糟糕。 研究小组评估了 2023 年 3 月和 20…

为AI而生的数据库:Milvus详解及实战

1 向量数据库 1.1 向量数据库的由来 在当今数字化时代,人工智能AI正迅速改变着我们的生活和工作方式。从智能助手到自动驾驶汽车,AI正在成为各行各业的创新引擎。然而,这种AI的崛起也带来了一个关键的挑战:如何有效地处理和分析…

lama-cleaner:基于SOTA AI 模型Stable Diffusion驱动的图像修复工具

介绍 由 SOTA AI 模型提供支持的图像修复工具。从照片中删除任何不需要的物体、缺陷、人物,或擦除并替换(由Stable Diffusion驱动)照片上的任何东西。 特征 1.多种SOTA AI模型 擦除模型:LaMa/LDM/ZITS/MAT/FcF/Manga 擦除和替…