当前位置: 首页 > ds >正文

Nginx的默认主配置文件 “/etc/nginx/nginx.conf“ 解读

安装Nginx后的默认主配置文件 “/etc/nginx/nginx.conf” 解读

详见如下配置及注释:

# 指定 Nginx 工作进程运行的用户和用户组。这里指定以www - data用户来运行 Nginx 工作进程。
# 在基于 Debian 和 Ubuntu 的系统中,www-data 用户是默认存在的,
# 它通常用于运行 Web 服务器进程(如 Nginx、Apache 等)。
user www-data;# 设置 Nginx 工作进程的数量。
# auto表示 Nginx 会自动根据服务器的 CPU 核心数来确定工作进程的数量,
# 一般会设置为与 CPU 核心数相同或略多,以充分利用服务器的资源,提高性能和并发处理能力。
worker_processes auto;# 指定 Nginx 进程 ID(PID)文件的存放路径。
# Nginx 在启动时会将主进程的 PID 写入到这个文件中,
# 方便系统管理工具或其他程序通过读取该文件来获取 Nginx 进程的状态和进行相关操作,如停止、重启 Nginx 服务等。
pid /run/nginx.pid;# 设置 Nginx 错误日志的文件路径。
error_log /var/log/nginx/error.log;# 告诉 Nginx 加载指定目录下的所有配置文件。
# 这样可以将 Nginx 的配置分散到多个文件中,便于管理和维护。
include /etc/nginx/modules-enabled/*.conf;#  events 块,用于配置 Nginx 处理事件的方式
events {# 每个工作进程最多可以同时处理 768 个连接# 这个值的设置会直接影响 Nginx 的并发处理能力。# 如果设置得太小,当有大量并发连接请求时,Nginx 可能无法及时处理所有请求,导致部分连接被拒绝;# 如果设置得太大,可能会占用过多的系统资源,如内存等。worker_connections 768;		# multi_accept on;
}# http 块包含了一系列 HTTP 服务相关的配置
http {################################################################### Basic Settings 【基本设置】################################################################### 启用 sendfile 功能。# sendfile 是一种高效的文件传输机制,允许操作系统直接在内核空间将文件数据传输到网络套接字,# 避免了数据在用户空间和内核空间之间的多次拷贝,从而提高文件传输性能。sendfile on;# 与 sendfile 配合使用,当启用 sendfile 时,# tcp_nopush 会让 Nginx 在发送数据时尽可能将多个数据包合并成一个大的 TCP 数据包发送,# 减少 TCP 报文的数量,提高网络传输效率。tcp_nopush on;# 设置 MIME 类型哈希表的最大大小。# 哈希表用于快速查找文件扩展名对应的 MIME 类型,增大这个值可以提高查找效率,但会占用更多内存。types_hash_max_size 2048;# 如果启用(去掉注释),会禁止 Nginx 在响应头中显示服务器版本信息,# 有助于提高服务器的安全性,防止攻击者根据版本信息进行针对性攻击。# server_tokens off;# 设置服务器名称哈希表的桶大小,适当调整这个值可以优化服务器名称的查找性能。# server_names_hash_bucket_size 64;# 如果启用,会禁止 Nginx 在重定向时使用服务器名称,而是使用客户端请求的原始服务器名称。# server_name_in_redirect off;# 包含 mime.types 文件,该文件定义了不同文件扩展名对应的 MIME 类型,# Nginx 会根据这个文件来确定发送给客户端的文件的 MIME 类型。include /etc/nginx/mime.types;# 设置默认的 MIME 类型为 application/octet-stream,# 当 Nginx 无法根据文件扩展名确定 MIME 类型时,会使用这个默认类型。default_type application/octet-stream;################################################################### SSL Settings【SSL 设置】################################################################### 指定 Nginx 支持的 SSL/TLS 协议版本,这里列出了 TLSv1、TLSv1.1、TLSv1.2 和 TLSv1.3,# 同时注释中提到移除了 SSLv3 协议,因为 SSLv3 存在 POODLE 漏洞,不安全。ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE# 启用服务器优先选择加密套件的功能。# 当客户端和服务器协商加密套件时,服务器会优先使用自己配置的加密套件列表,增强安全性。ssl_prefer_server_ciphers on;################################################################### Logging Settings【日志设置】################################################################### 设置 Nginx 的访问日志文件路径access_log /var/log/nginx/access.log;################################################################### Gzip Settings【Gzip 设置】################################################################### 启用 Gzip 压缩功能,Nginx 会对符合条件的响应内容进行压缩,减少数据传输量,提高网站访问速度。gzip on;# 如果启用,Nginx 会在响应头中添加 Vary: Accept-Encoding 字段,# 告诉缓存服务器(如 CDN)根据客户端的 Accept-Encoding 请求头来缓存不同压缩格式的响应内容。# gzip_vary on;# 如果启用,Nginx 会对所有经过代理的响应内容进行 Gzip 压缩。# gzip_proxied any;# 设置 Gzip 压缩级别,范围从 1 到 9,值越大压缩比越高,但会消耗更多的 CPU 资源,默认值是 6。# gzip_comp_level 6;# 设置 Gzip 压缩使用的缓冲区大小和数量,这里表示使用 16 个大小为 8KB 的缓冲区。# gzip_buffers 16 8k;# 指定支持 Gzip 压缩的 HTTP 版本,这里设置为 HTTP/1.1。# gzip_http_version 1.1;# 指定需要进行 Gzip 压缩的 MIME 类型列表,只有符合这些 MIME 类型的响应内容才会被压缩。# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;################################################################### Virtual Host Configs【虚拟主机配置】################################################################### 包含 /etc/nginx/conf.d/ 目录下的所有 .conf 配置文件include /etc/nginx/conf.d/*.conf;# 包含 /etc/nginx/sites-enabled/ 目录下的所有配置文件include /etc/nginx/sites-enabled/*;
}# 关于邮件代理功能的配置示例
#mail {
#	# 一个关于使用 Apache PHP 脚本进行 IMAP 认证的示例脚本说明,为用户在配置邮件认证时提供参考。
#	# See sample authentication script at: 
#	# http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#	
#	# 指定一个 HTTP 认证服务器。若启用,Nginx 会将邮件客户端的认证请求转发到 localhost/auth.php 进行处理。
#	# auth_http localhost/auth.php;
#
#	# 用来声明 POP3 服务器所支持的功能。
#	# "TOP" 允许客户端获取邮件头部信息,"USER" 支持客户端使用 USER 命令发送用户名。
#	# pop3_capabilities "TOP" "USER";
#
#	# 声明 IMAP 服务器支持的功能。
#	# "IMAP4rev1" 是 IMAP 协议的修订版本 1,"UIDPLUS" 允许客户端使用唯一标识符(UID)来操作邮件。
#	# imap_capabilities "IMAP4rev1" "UIDPLUS";
#
#	# server 块用于定义一个邮件服务器实例
#	server {
#		# 指定服务器监听的地址和端口。110 端口是 POP3 协议的默认端口。
#		listen     localhost:110;
#		# 明确该服务器实例使用的邮件协议为 POP3
#		protocol   pop3;
#		# 开启代理功能,意味着 Nginx 会将客户端的 POP3 请求代理转发到后端的 POP3 服务器进行处理。
#		proxy      on;
#	}
#
#	server {
#		# 指定服务器监听本地主机的 143 端口,143 端口是 IMAP 协议的默认端口。
#		listen     localhost:143;
#		# 使用的邮件协议为 IMAP
#		protocol   imap;	
#		# 开启代理功能		
#		proxy      on;
#	}
#}
http://www.xdnf.cn/news/2700.html

相关文章:

  • SQL Server 存储过程开发手册
  • 2025系统架构师---主程序/子程序架构风格
  • 小白学习java第16天(上): javaWeb
  • 【Redis】基础3:一些应用场景
  • TCP协议
  • 2个关键思路,让微课动画场景制作别具一格
  • Fps鬼泣总结:通信——伤害检测
  • 【数据结构】顺序表
  • 伺服电机AB相输出,接入定时器通道,对定时器IO口的速率有何要求【详细分析】
  • 【Unity完整游戏开发案例】从0做一个太空大战游戏
  • MySQL主从同步原理与实践 - Java架构师面试解析
  • 【Python】Matplotlib:立体永生花绘制
  • 单值映射、多值映射
  • Linux:进程间通信->共享内存
  • 开源网络入侵检测与防御系统:Snort
  • 企业私有大模型DeepSeek落地部署该用什么? Ollama还是vLLM
  • PlatformIO 入门学习笔记(一):背景了解
  • 【每天一个知识点】correntropy(相关熵)
  • 08-STM32外部中断
  • el-input限制输入只能是数字 限制input只能输入数字
  • 中国区域250米归一化植被指数数据集(2000-2023)
  • 迅雷精简绿色融合版【高速下载版】12.1.9.2870【11.2.2.1716】【20250426】
  • 树莓派学习专题<10>:使用V4L2驱动获取摄像头数据--申请和管理缓冲区
  • 【PVR】《Adaptive Palm Vein Recognition Method》
  • codeforcesB. Binary Colouring
  • 实人认证开发指南:用API+深度学习构建人证合一系统
  • 【CF】Day45——Codeforces Round 1021 (Div. 2) BC
  • UV工具的安装与使用
  • 2025系统架构师---数据抽象(Data Abstraction)‌与‌面向对象架构风格
  • Android原生开发基础