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

Nginx进行配置文件拆分(以windows解压版为例)

Nginx压缩包解压后,只有一个默认的nginx.conf配置文件,可以通过下面的配置方法简易拆分成多个配置,提高可读性和可维护性。

原理简介
了解过 Nginx 的应该知道,配置文件的http块里面是由一个个server块组成的。

每个server 块都含有server_name配置,是用来识别请求的标识。当 Nginx 接收到网络请求时,会读取请求的域名或IP,并去匹配各个 server 块里的 server_name,匹配成功就由该块负责处理。

因为有这个机制,多个项目可以同时使用 80 端口,只要请求的域名不同,就能分流到对应项目。可以把每个server块单独写成一个 .conf 文件,通过include统一引入

初始目录结构:

一、新建 conf.d 文件夹

在Nginx 根目录下,新建一个名为 conf.d 的文件夹(名称不限,确保和include一致就行),用于存放拆分出来的配置文件。

二、修改主配置文件

替换conf/nginx.conf为以下配置。

worker_processes auto; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; # 开启高性能文件传输 keepalive_timeout 65; # 保持连接不中断的超时时间(秒) gzip on; # 开启网页内容压缩 gzip_types text/plain text/css application/json application/javascript text/xml; # 允许压缩的文件类型 include ../conf.d/*.conf; # 加载子配置文件 }

该配置只负责一些全局的配置,比如进程数、连接上限、和压缩规则等,并通过include引入/conf.d下的配置文件

三、在conf.d中拆分具体应用

根据需要创建独立的 .conf 文件。

默认配置:保持原始欢迎页

创建/conf.d/default.conf, 写入以下内容

server { listen 80 default_server; server_name localhost; charset utf-8; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }

注意:这里有个default_server配置,表示如果请求的域名没匹配到任何文件的 server_name,就由这个默认服务来处理

配置A(可选):代理前端项目

创建conf.d/webapp.conf

server { listen 80; server_name www.mysite.com; # 写你配置的域名 # server_name 127.0.0.1; # 若没有域名,可以用本地ip location / { root C:/project/dist; # 前端打包文件存放的绝对路径(注意用正斜杠 /) index index.html index.htm; try_files $uri $uri/ /index.html; # 支持 Vue/React 的 history 路由模式 } }
配置B(可选):反向代理

创建conf.d/springboot.conf
以下以代理spirngboot后端为例

server { listen 80; server_name spring.dev.mysite.com; # 写你配置的域名 # server_name 127.0.0.2; # 若没有域名,可以用本地ip,确保不会和其他配置文件冲突 client_max_body_size 50m; # 文件上传大小限制 location / { proxy_pass http://127.0.0.1:8080; # 转发到本机的后端接口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

四、加载配置并验证

配置完成后,在nginx根目录,打开cmd,执行以下命令检查配置文件是否正确。

.\nginx-t

如下所示即为配置成功:

如果nginx没有启动过,双击根目录的nginx.exe启动即可。
若之前已经启动且正在运行中,则执行以下命令重新加载配置。

.\nginx-sreload

如果按前面添加了default.conf配置,则访问localhost,将看到欢迎页:

再自行访问你的其他的配置项进行测试。

http://www.cnnetsun.cn/news/3175540.html

相关文章:

  • 网上的若干算法都太复杂了,现提出包氏算法如下:
  • LangChain FewShotPromptTemplate少样本应用实战
  • 硬件版【Cursor】?aily blockly IDE尝鲜封神,实战硬伤尽显
  • 【Bug已解决】Claude Desktop 报错 Virtual Machine Platform not available 解决方案
  • 基于scRNA解析HNSCC肿瘤免疫微环境中Tfh、Th17细胞浸润的预后价值
  • 商用轨道插座怎么选更划算 各品牌性价比盘点帮你避坑少花冤枉钱
  • Windows Mobile下访问Sqlite的Native C++封装
  • Unity URP卡通渲染着色器:从原理到实践的完整指南
  • 3步掌握AMD Ryzen SDT调试工具:专业级CPU性能调优完整指南
  • NHibernate Issues之1904/1905:相同属性的Domain与Join查询/子查询
  • 智能办公本X2:端侧AI驱动的手写语音协同工作流
  • 大语言模型解码策略与低资源部署技术详解
  • NHibernate实例分享:Northwind Mapping
  • 2026年全铜卫浴五金洁具厂商口碑情况汇总
  • Vben精讲:06-Vben环境变量配置
  • MoeKoe Music终极指南:如何用开源免费客户端享受VIP音乐体验
  • Python自动化测试·Selenium操控元素的方法
  • 从Qwen-AgentWorld看大模型智能体如何操作真实系统:架构、挑战与工程实践
  • Cline 配置 Claude Sonnet 5 实战指南:思考深度调优与切换 Fable 5 的时机
  • 恶劣天气数据集 极端天气数据集 雨天道路数据集 雾天道路数据集 雪天马路恶劣环境图像目标检测数据集-道路障碍物识别数据集-数据集第10119期
  • 三千米浮空飞艇视频接入,广域立体视频孪生全域侦监技术解读 野外复杂地形动态重建 · 演训场景视频孪生目标三维重构完整体系
  • 毕业生必备7款AI写作辅助网站,一站式搞定选题初稿与降AI率
  • GHelper:华硕笔记本开源高效控制工具的专业替代方案
  • 成都茶台定制推荐
  • YOLOv10模型改进-Neck改进-第74篇:YOLOv10改进策略【Neck】| FPN-DCN可变形卷积
  • 连锁超市收银系统选什么?千店实测与商拓深度测评
  • 【湍流】基于matlab对涡粘性和雷诺应力模型FVM实现湍流通道流【含Matlab源码 15687期】含报告
  • 如何选择合适的面试机构?
  • 一文吃透 Transformers 模型加载:from_pretrained 参数大全与推理全流程解析
  • 磁吸易装 + 稳定传输,打造高效机房 U 位资产管理方案