当前位置:首页>Linux>Linux进阶 | Nginx 服务安装与配置(三):核心配置文件深度解析

Linux进阶 | Nginx 服务安装与配置(三):核心配置文件深度解析

  • 2026-10-06 08:15:36
Linux进阶 | Nginx 服务安装与配置(三):核心配置文件深度解析
前两篇我们完成了:
  • Nginx 安装
  • 服务启动与验证
  • 目录结构认知
这一篇,我们进入真正的核心:理解 nginx.conf 的结构与执行逻辑
很多人会改配置,但并不知道:
  • 为什么要写在 http 里?
  • server 和 location 是什么关系?
  • 配置是按什么顺序匹配的?
这一篇帮你彻底讲清楚。

一、主配置文件位置

默认路径:/etc/nginx/nginx.conf
先看基本结构(删减版):
user nginx;worker_processes auto;events {    worker_connections 1024;}http {    include       mime.types;    default_type  application/octet-stream;    sendfile        on;    include /etc/nginx/conf.d/*.conf;}
你会发现三个核心块:
  • events
  • http
  • server(通常写在 http 里面)
这就是 Nginx 的配置层级。

二、全局配置(Global)

在任何块之外的内容,属于全局配置。
例如:
worker_processes auto;
含义:
worker 进程数量
auto 表示自动等于 CPU 核心数
查看 CPU 核心数:
lscpu
高并发服务器通常建议:
worker_processes = CPU核心数

三、events 块:连接模型配置

events {    worker_connections 1024;}
这里定义:
每个 worker 最大连接数
理论最大并发 ≈
worker_processes × worker_connections
例如:
4 核 CPU
每个 worker 1024 连接
最大并发 ≈ 4096
这就是 Nginx 高并发能力的来源之一。

四、http 块:核心业务区域

http 是最重要的块。
所有 Web 相关配置都在这里。
包括:

日志

压缩

反向代理

虚拟主机

server 配置

例如:
http {log_format main '$remote_addr - $request';access_log /var/log/nginx/access.log main;include /etc/nginx/conf.d/*.conf;}
注意这行:
include /etc/nginx/conf.d/*.conf;
这表示:自动加载 conf.d 目录下的所有配置文件
生产环境中,我们一般:
一个网站一个 .conf 文件
放在 conf.d 目录下

五、server 块:虚拟主机

server 用来定义一个网站。
示例:
server {  listen 80;  server_name example.com;  root /usr/share/nginx/html;  index index.html;}
解释:
listen:监听端口
server_name:域名
root:网站根目录
index:默认首页
访问流程:
用户访问 example.com
→ 匹配 server_name
→ 找到对应 server 块
→ 进入 location 规则

六、location 块:请求匹配规则

location 是最核心也是最容易混乱的部分。
示例:
location / {    root /usr/share/nginx/html;}
含义:
匹配所有路径。
再看一个:
location /api/ {    proxy_pass http://127.0.0.1:8080;}
意思:
访问 /api/ 开头的请求
转发到后端 8080 服务
这就是反向代理。

七、location 匹配规则简述

常见类型:
精确匹配
location = /login
前缀匹配
location /api/
正则匹配
location ~ \.php$
匹配优先级:
= 精确 > ^~ 前缀 > 正则 > 普通前缀
这一块是 Nginx 面试高频考点。

八、配置修改与验证流程

修改配置后,必须执行:
nginx -t
如果输出:
syntax is ok
test is successful
再执行:
nginx -s reload
生产环境切记不要盲目 restart。

九、一个完整示例

创建文件:
/etc/nginx/conf.d/demo.conf  # 这里的配置名称建议为 域名.conf
内容:
server {    listen 80;    server_name localhost;    location / {        root /usr/share/nginx/html;        index index.html;    }    location /api/ {        proxy_pass http://127.0.0.1:8080;    }}
测试:
nginx -tnginx -s reload
现在:
访问 / → 静态页面
访问 /api/ → 转发后端
这就是最基础的生产模型。

十、本篇核心总结

你现在应该理解:
✔ Nginx 配置是分层结构
✔ http 是核心块
✔ server 定义网站
✔ location 定义请求规则
✔ 修改配置必须先测试
下一篇,我们进入真正的实战:
👉 静态网站部署实战
👉 自定义虚拟主机
👉 多站点配置
👉 访问日志拆分
从“理解结构”升级到“搭建真实业务”。
继续跟着系列走,你会真正掌握 Nginx 的底层逻辑。

最新文章

随机文章