Nginx常用配置详解(1)

Nginx常用配置详解

在这里插入图片描述

一、全局块(main)配置

在Nginx的配置文件中,最外层的部分是全局块。这部分配置通常会影响Nginx服务器整体的运行参数。

  1. worker_processes
    • 作用:这个配置指令用于指定Nginx工作进程的数量。工作进程是Nginx处理客户端请求的核心部分。例如,设置worker_processes 4;表示Nginx会启动4个工作进程来处理请求。合理设置工作进程数量可以充分利用服务器的多核CPU资源。一般来说,如果服务器是多核CPU,将其设置为CPU核心数可以获得较好的性能。
  2. error_log
    • 作用:用于指定Nginx错误日志的存放路径和日志级别。例如,error_log /var/log/nginx/error.log;将错误日志存储在/var/log/nginx/目录下的error.log文件中。日志级别可以是debuginfonoticewarnerror等。debug级别记录最详细的信息,包括调试信息等,但会产生大量日志文件;error级别只记录错误信息,用于排查严重问题。

二、http块配置

http块包含了服务器处理HTTP相关的配置,这是Nginx配置的核心部分之一。

  1. server
    • 作用:一个server块定义了一个虚拟服务器。在一台Nginx服务器上可以配置多个虚拟服务器,以分别处理不同域名或IP地址的请求。
    • 示例配置
      server {listen       80;server_name  example.com;root         /var/www/html;
      }
      
      • listen:指定服务器监听的端口号,这里是80端口,这是HTTP协议的默认端口。也可以指定IP地址和端口的组合,如listen 192.168.1.100:8080;表示只监听指定IP地址的8080端口。
      • server_name:定义服务器名称,即域名。当客户端请求的域名与server_name匹配时,Nginx会将请求路由到这个server块进行处理。可以设置多个域名,中间用空格隔开,如server_name example.com www.example.com;,这样这两个域名的请求都会被该server块处理。
      • root:指定了服务器的根目录,也就是当客户端请求一个相对路径时,Nginx会从这个根目录下查找对应的文件。例如,客户端请求http://example.com/index.html,Nginx会在/var/www/html目录下查找index.html文件。
  2. location
    • 作用:用于基于请求的URI(统一资源标识符)来匹配请求,并对匹配的请求进行特定的处理。location块可以嵌套在server块内部。
    • 示例配置
      location / {try_files $uri $uri/ =404;
      }
      
      • try_files:这条指令用于按顺序尝试查找文件。$uri表示请求的URI路径,$uri/表示在请求路径后添加一个斜杠后的路径。=404表示如果前面的文件都找不到,就返回404错误。例如,当客户端请求http://example.com/about.html时,Nginx会先尝试查找/var/www/html/about.html文件,如果不存在,再尝试查找/var/www/html/about.html/目录下的默认文件(如index.html),如果还是找不到就返回404错误。
    • 不同类型的location匹配规则
      • 精确匹配:使用=前缀,如location = /login.html {... },这种情况下只有当请求的URI完全等于/login.html时才会匹配。
      • 前缀匹配:这是最常用的匹配方式,没有前缀符号。例如location /images/ {... }会匹配以/images/开头的所有请求,如/images/logo.png/images/subdir/file.txt等。
      • 正则表达式匹配:使用~(区分大小写)或~*(不区分大小写)前缀。例如location ~ \.php$ {... }会匹配所有以.php结尾的请求,用于将PHP请求转发到后端的PHP - FPM服务器进行处理。

三、其他常用配置

  1. access_log
    • 作用:用于记录客户端访问日志。例如,access_log /var/log/nginx/access.log main;将访问日志存储在/var/log/nginx/access.log文件中,main是日志格式的名称。可以自定义日志格式来记录更多有用的信息,如客户端IP地址、请求时间、请求方法、请求的URI等。
  2. sendfile
    • 作用:这个配置指令用于启用或禁用Nginx的sendfile功能。sendfile可以在将文件发送给客户端时,直接从内核缓冲区复制数据到网络缓冲区,减少了数据在内核空间和用户空间之间的拷贝次数,从而提高文件传输的效率。设置sendfile on;开启这个功能,默认情况下通常是开启的。
  3. keepalive_timeout
    • 作用:用于设置和客户端的长连接超时时间。例如,keepalive_timeout 65;表示Nginx在65秒内没有收到客户端的新请求,就会关闭连接。长连接可以减少建立和关闭连接的开销,提高服务器性能,尤其在处理多个请求来自同一个客户端的场景下非常有用。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NVIDIA发布紧凑型生成式AI超级计算机:性能提升,价格更低

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

jmeter连接mysql

查询mysql数据库版本 SELECT VERSION(); 下载jmeter mysql 驱动jar包,版本低于mysql版本,放在jmeter的lib 路径下 MySQL :: Download MySQL Connector/J (Archived Versions) 添加JDBC Connection Configuration 填写 variable name 及数据库信息 注意…

STM32二刷学习笔记--GPIO

文章目录 GPIO使用详解GPIO基本结构GPIO工作模式简单示例推挽输出LED闪烁按键控制LED闪烁**LED控制函数****按键控制函数** GPIO使用详解 在STM32开发中,GPIO(通用输入输出)是与外设接口的基础模块。通过GPIO,我们可以连接各种外…

PCDN之网心云

PCDN之网心云 前言 利用闲置宽带赚取收益 CDN原理 使用你的设备缓存加速资源 当别人需要访问资源时会就近分配访问到你缓存资源实现边缘加速的效果 推荐宽带上行 >10MB 磁盘大于60G 否则收益可能不是很高 注册网心云账号 打开如下网址注册 务必填写邀请码 否则会少几块…

FPGA-PS端编程1:

目标 在小梅哥的zynq 7015上,完成以下目标: 读取 S1 按键的电平, 当 S1 按键为按下状态时,驱动 PS LED 以 1S 的频率闪烁(注意理解 1S 的频率闪烁和 1S的时间翻转两种描述之间的差别), 当 S1 释放后,停止…

ArcGIS计算土地转移矩阵

在计算土地转移矩阵时,最常使用的方法就是在ArcGIS中将土地利用栅格数据转为矢量,然后采用叠加分析计算,但这种方法计算效率低。还有一种方法是采用ArcGIS中的栅格计算器,将一个年份的地类编号乘以个100或是1000再加上另一个年份的…

51c大模型~合集91

我自己的原文哦~ https://blog.51cto.com/whaosoft/12848734 #工业界主流大语言模型后训练(Post-Training)技术总结 本文整理工业界主流开源LLM的后训练方案,着重介绍训练算法和数据处理部分 今年工业界陆续开源了多款优秀的大语言模型,并放出了技术…

怎样在html中异步加载js文件,以避免js文件太大而影响页面打开速度?

在HTML中异步加载JS文件可以防止因JS文件过大而阻塞页面渲染。 异步加载js文件方法: 1、等待DOM完全加载 等待HTML文档解析完成,即所有的DOM元素都已经被浏览器读取并构建。 实现这一点可以通过监听DOMContentLoaded事件,这个事件会在文档…

监控视频汇聚融合云平台一站式解决视频资源管理痛点

随着5G技术的广泛应用,各领域都在通信技术加持下通过海量终端设备收集了大量视频、图像等物联网数据,并通过人工智能、大数据、视频监控等技术方式来让我们的世界更安全、更高效。然而,随着数字化建设和生产经营管理活动的长期开展&#xff0…

EE308FZ_Sixth Assignment_Beta Sprint_Sprint Essay1

AssignmentBeta SprintCourseEE308FZ[A] — Software EngineeringClass Link2401_MU_SE_FZURequirementsSixth Assignment——Beta SprintTeam NameFZUGOObjectiveSprint Essay 1_Day1-Day2 (12.11-12.12)Other Reference1. WeChat Mini Program Design Guide 2. Javascript St…

【报表查询】.NET开源ORM框架 SqlSugar 系列

文章目录 前言实践一、按月统计没有为0实践二、 统计某月每天的数量实践三、对象和表随意JOIN实践四、 List<int>和表随意JOIN实践五、大数据处理实践六、每10分钟统计Count实践七、 每个ID都要对应时间总结 前言 在我们实际开发场景中&#xff0c;报表是最常见的功能&a…

GIT区域介绍及码云+GIt配置仓库

GIT区域介绍 创建文件夹git init 1、git有3个区域 工作区&#xff08;working directory&#xff09;&#xff1a;项目的根目录&#xff0c;不包 括.git在内的其他文件暂存区&#xff08;stage area&#xff09;&#xff1a;是一个看不见的区域&#xff0c;git add 命令就是将文…

YOLO8 改进 009:引入 ASFF 对 YOLOv8 检测头进行优化(适用于小目标检测任务)

论文题目&#xff1a;Learning Spatial Fusion for Single-Shot Object Detection 论文地址&#xff1a;Paper - ASFF 官方源码&#xff1a;GitHub - GOATmessi8/ASFF 简 介 多尺度特征融合是解决多尺度目标检测问题的关键技术&#xff0c;其中 FPN&#xff08;特征金字塔网络…

利用Matlab绘制心性函数

第一种心性函数 我们利用下面这个参数方程在的区间上绘制一个心性函数 首先&#xff0c;我们在matlab中设置一个参量t在区间内&#xff0c;然后将参数t带入上面两个式子计算就可以得到心性函数对应的x-y坐标 代码示例 我们可以通过调整代码的颜色、线宽等属性改变心性函数的…

穷举vs暴搜vs深搜vs回溯vs剪枝专题一>全排列II

题目&#xff1a; 解析&#xff1a; 这题设计递归函数&#xff0c;主要把看如何剪枝 代码&#xff1a; class Solution {private List<List<Integer>> ret;private List<Integer> path;private boolean[] check;public List<List<Integer>> p…

react中实现导出excel文件

react中实现导出excel文件 一、安装依赖二、实现导出功能三、自定义列标题四、设置列宽度五、样式优化1、安装扩展库2、设置样式3、扩展样式功能 在 React 项目中实现点击按钮后导出数据为 Excel 文件&#xff0c;可以使用 xlsx 和 file-saver 这两个库。 一、安装依赖 在项目…

Vue前端开发-数据缓存

完成全局性的axios实例对象配置后&#xff0c;则可以在任意一个组件中直接调用这个对象&#xff0c;发送异步请求&#xff0c;获取服务端返回的数据&#xff0c;同时&#xff0c;针对那些不经常变化的数据&#xff0c;可以在请求过程中&#xff0c;进行数据缓存&#xff0c;并根…

Qt for Python (PySide6)设置程序图标和任务栏图标

环境 使用Qt for Python开发Windows应用程序。 Python版本&#xff1a;3.12 Qt版本&#xff1a;PySide6 前言 先上一个简单的测试程序 from PySide6.QtWidgets import QMainWindow,QLabel,QApplication from PySide6 import QtGui import sysclass MainWindow(QMainWindow)…

MySQL基础笔记(三)

在此特别感谢尚硅谷-康师傅的MySQL精品教程 获取更好的阅读体验请前往我的博客主站! 如果本文对你的学习有帮助&#xff0c;请多多点赞、评论、收藏&#xff0c;你们的反馈是我更新最大的动力&#xff01; 创建和管理表 1. 基础知识 1.1 一条数据存储的过程 存储数据是处理数…

FlashAttention理解

参考&#xff1a;https://github.com/Dao-AILab/flash-attention 文章目录 一、FlashAttention理解1. FlashAttention的特点&#xff1a;2. 工作原理3. 安装4. 代码示例5. flash_attn_func 参数说明6. 适用场景7. 总结 二、FlashAttention 1.X 2.X 3.X版本的区别与联系1. **Fla…