Windows 下 Nginx 配置全指南:前端 Vue + 后端服务一体化部署

在现代 Web 开发中,前后端分离架构已成为主流。前端使用 Vue、React 等框架构建 SPA(单页应用),后端提供 RESTful API 服务。为了在本地或生产环境中高效部署这类应用,Nginx 是一个非常优秀的轻量级 Web 服务器和反向代理工具。

本文将手把手教你如何在 Windows 系统下下载、安装并配置 Nginx,实现:

  • 前端 Vue 项目的静态资源托管
  • 后端 API 请求的反向代理(解决跨域)
  • 统一入口访问(如 http://localhost)

一、准备工作

1. 系统要求

  • Windows 7 / 10 / 11 / Server 系列
  • 已安装 Node.js(用于构建 Vue 项目)
  • 后端服务(如 Spring Boot、Node.js、Python Flask 等)已能正常运行(例如监听 http://localhost:8080

二、下载并安装 Nginx(Windows 版)

Nginx 官方不提供 Windows 安装包,但提供了可直接运行的压缩包。

步骤 1:下载 Nginx

  1. 打开官网:https://nginx.org/en/download.html

下载后解压到任意目录,例如:

D:\tools\nginx-1.25.5 

Windows version 下点击最新稳定版(如 nginx/Windows-1.25.5

注意:Windows 版本是“开发用途”,官方建议生产环境使用 Linux,但本地开发完全够用。

步骤 2:启动 Nginx

  • 打开浏览器访问 http://localhost,看到 “Welcome to nginx!” 页面即表示启动成功。

启动 Nginx:

start nginx 

打开命令提示符(CMD)或 PowerShell,进入 Nginx 目录:

cd D:\tools\nginx-1.25.5 
小贴士:停止 Nginx:nginx -s stop重载配置:nginx -s reload(修改配置后必须执行!)查看进程:任务管理器中查找 nginx.exe

三、构建并部署 Vue 前端项目

假设你已有一个 Vue 项目(Vue 2 或 Vue 3)。

步骤 1:构建生产版本

cd your-vue-project npm run build 

生成的静态文件默认在 dist/ 目录下。

步骤 2:将 dist 文件夹复制到 Nginx

建议结构如下:

D:\tools\nginx-1.25.5\ ├── html/ │ └── vue-app/ ← 把 dist 内容放这里 ├── conf/ │ └── nginx.conf ← 主配置文件 └── ... 

或者直接替换 html 目录下的内容(简单场景):

# 清空原 html,放入你的 Vue 构建产物rmdir /s /q html xcopy dist html /e /i 

四、配置 Nginx:前端 + 后端一体化

关键在于 反向代理(Reverse Proxy) —— 将 /api 开头的请求转发给后端服务,其余请求返回前端页面。

修改 conf/nginx.conf

打开 nginx.conf,找到 server 块,替换为以下内容:

server { listen 80; server_name localhost; # 前端静态资源 location / { root html/vue-app; # 指向你的 Vue dist 目录 index index.html index.htm; try_files $uri $uri/ /index.html; # 支持 Vue Router 的 history 模式 } # 后端 API 反向代理(解决跨域) location /api/ { proxy_pass http://localhost: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; proxy_set_header X-Forwarded-Proto $scheme; } # 可选:其他后端服务(如 WebSocket) # location /ws/ { # proxy_pass http://localhost:9000; # proxy_http_version 1.1; # proxy_set_header Upgrade $http_upgrade; # proxy_set_header Connection "upgrade"; # } } 

配置说明:

  • root html/vue-app;:指定前端资源根目录
  • try_files $uri $uri/ /index.html;:确保 Vue Router 的 history 模式能正常刷新页面

proxy_pass http://localhost:8080/;:将 /api/xxx 请求代理到后端(如 Spring Boot 默认端口 8080)

注意:proxy_pass 结尾的 / 很重要!有 //api/userhttp://localhost:8080/user//api/userhttp://localhost:8080/api/user

重载配置

修改完后,在 Nginx 目录下执行:

nginx -s reload 

五、验证效果

  1. 访问前端:浏览器打开 http://localhost → 显示你的 Vue 应用
  2. 调用 API:前端代码中请求 /api/login,实际被 Nginx 转发到 http://localhost:8080/login
  3. 无跨域问题:因为浏览器只和 Nginx 通信(同源),Nginx 再与后端通信,完美绕过 CORS

六、常见问题排查

问题1:404 页面找不到

  • 检查 root 路径是否正确(建议用绝对路径)
  • 确保 try_files 配置存在(Vue Router 必需)

问题2:API 请求 502 Bad Gateway

  • 后端服务未启动?检查 http://localhost:8080 是否能直接访问
  • proxy_pass 地址写错?注意端口号和协议(http/https)

问题3:修改配置后未生效

  • 必须执行 nginx -s reload
  • 检查配置语法:nginx -t 可验证配置文件是否正确

七、进阶建议

  • 多环境配置:可为 dev/test/prod 创建不同 nginx.conf
  • HTTPS 本地测试:使用 mkcert 生成本地证书,配置 SSL
  • 开机自启:将 start nginx 加入 Windows 任务计划程序
  • 日志分析:查看 logs/access.loglogs/error.log

Read more

部署OpenClaw首选远程软件——UU远程:从准备到落地,新手也能轻松上手

部署OpenClaw首选远程软件——UU远程:从准备到落地,新手也能轻松上手

前言 在企业为客户远程部署、技术博主带粉丝实操教学、远程技术支持等真实场景中,稳定、低延迟、高同步的远程工具是完成 AI 工具部署的关键。本地部署无需依赖云服务器,成本更低、更安全,但传统远程软件往往延迟高、操作卡顿,严重影响部署效率与体验。 本文将以OpenClaw轻量 AI 辅助服务工具为部署对象,全程依托网易 UU 远程实现流畅远程控制与协助,详细讲解网易 UU 远程的核心优势,从 UU 远程环境准备、OpenClaw 远程部署,到基于网易UU远程的实时监视 OpenClaw 状态,零门槛、无复杂配置。借助网易 UU 远程的低延迟与高稳定性,企业可高效为客户远程交付,博主可轻松带粉丝同步实操,新手也能跟着完整落地。 本篇文章分别从准备工作、远程部署、远程监视三个维度进行实操教学,一步步拆解如何运用远程UU进行远程部署openclaw。 一、网易UU远程介绍 网易UU远程是网易出品的一款轻量化、零配置、高稳定的远程控制工具,区别于传统远程工具(

By Ne0inhk
《C/C+++ Boost 轻量级搜索引擎实战:架构流程、技术栈与工程落地指南——构造正/倒排索引(中篇)》

《C/C+++ Boost 轻量级搜索引擎实战:架构流程、技术栈与工程落地指南——构造正/倒排索引(中篇)》

前引:这是一个聚焦基础搜索引擎核心工作流的实操项目,基于 C/C++ 技术生态落地:从全网爬虫抓取网页资源,到服务器端完成 “去标签 - 数据清洗 - 索引构建” 的预处理,再通过 HTTP 服务接收客户端请求、检索索引并拼接结果页返回 —— 完整覆盖了轻量级搜索引擎的端到端逻辑。项目采用 C++11、STL、Boost 等核心技术栈,搭配 CentOS 7 云服务器 + GCC 编译环境(或 VS 系列开发工具)部署,既适配后端工程的性能需求,也能通过可选的前端技术(HTML5/JS 等)优化用户交互,是理解搜索引擎底层原理与 C++ 工程实践的典型案例 目录 【一】Jieba分词工具 【二】正/倒排索引结构设计

By Ne0inhk

前端 | 一篇搞懂CSS盒模型核心:padding、margin、border与box-sizing、border-radius

一篇搞懂CSS盒模型核心:padding、margin、border与box-sizing、border-radius 写CSS布局时,很多人会被“盒子”里的padding、margin、border绕晕——明明设置了相同的宽度,加个padding就变形;调整margin又莫名影响相邻元素;border的宽度到底算不算总宽度?其实只要把“盒子”的逻辑拆透,这些问题都能迎刃而解。今天就用最直白的方式,把这些核心概念讲清楚,让你看完就能直接用。 先分清三个“间隔”:padding、margin、border的核心区别 CSS里的每个元素,都像一个“快递盒子”——内容是盒子里的物品,而padding、margin、border,就是盒子本身和周围的不同间隔。三者的核心区别,本质是“位置不同、作用对象不同、是否占盒模型空间不同”,用一句话总结:border是盒子的“壳”,padding是壳和内容的“内填充”,margin是盒子和其他盒子的“外距离”。 1. border:盒子的“

By Ne0inhk
基于YOLO26/11/v8算法的Web目标检测系统,人脸表情识别系统,Django+Vue3 的前后端分离,实现摄像头实时识别,YOLO26/YOLO11/v8 + LLM大模型智能分析,科研必备

基于YOLO26/11/v8算法的Web目标检测系统,人脸表情识别系统,Django+Vue3 的前后端分离,实现摄像头实时识别,YOLO26/YOLO11/v8 + LLM大模型智能分析,科研必备

✨ 更新日志 * ✔️ 2026/3/3,2.0 版本,前端导航栏改为侧边栏系统,视频流采用websocket框架延迟更低, YOLO26/YOLO11/YOLOv8 视频流更稳定,在之前的系统增加 LLM 大模型智能分析,是科研必备,支持 YOLO26/11/v8 分类模型、目标检测、分割、obb、关键点检测任务,还支持双模型联合检测与识别,如人脸表情识别、人脸识别等一些识别任务需要检测模型与分类模型共同完成,在人脸表情识别中,单独使用检测模型去识别人脸表情也不是不可以,但有一个问题数据集如果全是头部照片的话,当模型预测的照片是全身照片时,模型识别准确率就没有这么高了, 那么这时候可以用检测模型识别人脸,把人脸信息输入到表情分类模型进行分类即可,反正这是一个通用的系统,更换自己模型即可,大家懂得都懂的,更多功能看下文即可。 摘要 在人工智能迈向通用化(AGI)的今天,“视觉感知 + 语言理解”的多模态联合是未来的趋势。单纯的检测画框已经无法满足复杂的业务需求,如何让系统“看懂”

By Ne0inhk