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

nginx 配置文件初识全局块、events、http、server、location 的层级关系

Nginx 配置其实只有两类指令:

  1. 放在“某个块”里的块级指令;
  2. 直接写在顶层的全局指令。
    把全部配置想象成一个树形结构,根节点叫 main,往下依次分叉即可。下面用 1 张 ASCII 树 + 1 张极简示例,30 秒就能看懂层级关系。
  1. 层级树

main (全局)
├─ events { … } ← 连接处理模型
└─ http { … } ← HTTP 协议相关
├─ upstream { … } ← 负载均衡池(可选)
├─ server { … } ← 虚拟主机
│ ├─ location / { … } ← URL 路由
│ ├─ location /api { … }
│ └─ location ~ .php$ { … }
└─ server { … } ← 第二个虚拟主机

  1. 最小可运行示例
# 1) 全局块 —— 影响整个 Nginx 进程
user  nginx;            # 工作进程的运行用户
worker_processes auto;  # 自动按 CPU 核数启动进程
error_log  /var/log/nginx/error.log warn;
pid        /run/nginx.pid;# 2) events 块 —— 连接调度策略
events {worker_connections 1024;   # 每个 worker 最大并发连接use epoll;                 # Linux 下高效事件模型
}# 3) http 块 —— 所有 HTTP/HTTPS 服务共享的公共配置
http {include       /etc/nginx/mime.types;default_type  application/octet-stream;# 日志格式log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer"';access_log  /var/log/nginx/access.log  main;# 传输优化sendfile on;tcp_nopush on;keepalive_timeout 65;# 4) server 块 —— 一个虚拟主机server {listen       80;server_name  example.com;# 5) location 块 —— URL 路由location / {root   /usr/share/nginx/html;index  index.html index.htm;}location /api {proxy_pass http://127.0.0.1:8080;}}
}
  1. 牢记 3 句话

• 全局块、events、http 是“顶层文件”三大件;
• 一个 http 内可放 N 个 server,一个 server 内可放 N 个 location;
• 子块继承父块,子块同名指令覆盖父块。

http://www.dtcms.com/a/354906.html

相关文章:

  • SDK、JDK、JRE、JVM的区别
  • JSON 快速上手:语法解析与应用实例
  • 【VSCode】使用VSCode打开md文件以及转化为PDF
  • 打工人日报#20250828
  • HTTP 分块传输编码:深度解析与报文精髓
  • 第21节:环境贴图与PBR材质升级——构建电影级真实感渲染
  • Java 实现HTML转Word:从HTML文件与字符串到可编辑Word文档
  • 腕上智慧健康管家:华为WATCH 5与小艺的智美生活新范式
  • 使用EasyExcel实现Excel单元格保护:自由锁定表头和数据行
  • mac电脑双屏显示时程序坞跑到副屏的解决方法
  • 吱吱企业通讯软件以安全为基,搭建高效的通讯办公平台
  • ckman部署的clickhouse,节点迁移
  • 微算法科技(NASDAQ:MLGO)推出创新型混合区块链共识算法,助力物联网多接入边缘计算
  • [论文阅读] 人工智能 + 软件工程 | 告别“隐藏陷阱”:领域预训练模型SmartBERT如何赋能智能合约安全
  • MyBatis题
  • AR培训系统:油气行业的安全与效率革新
  • List<Map<String, String>>最简单的遍历方式
  • 在Ubuntu中安装配置MySql Server
  • [光学原理与应用-320]:光学产品不同阶段使用的工具软件、对应的输出文件
  • 计算机考研408《数据结构》真题模拟——数据结构与算法基本概念
  • DQN(深度Q网络):深度强化学习的里程碑式突破
  • Java 线程池拒绝策略
  • vscode pyqt5设置
  • 基于SpringBoot的老年人健康数据远程监控管理系统【2026最新】
  • JavaSE——八股文
  • 医院信息系统(HIS)的开发架构解析,代码示例
  • 面试tips--并发--进程与线程的区别线程通信方式总结
  • k8s集群1.20.9
  • 虚拟相机的最佳实践参考是什么
  • k8s是什么?