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

SpringBoot+Vue JS个人云盘管理系统平台完整项目源码+SQL脚本+接口文档【Java Web毕设】

SpringBoot+Vue JS个人云盘管理系统平台完整项目源码+SQL脚本+接口文档【Java Web毕设】

摘要 随着信息技术的快速发展,个人数据存储需求日益增长,传统的本地存储方式在数据安全性、跨设备访问和共享便捷性方面存在诸多不足。云存储技术因其高可用性、弹性扩展和便捷的远程访问特性,逐渐成为个人数据管理的首选方案。然而,现有的公共云盘服务往往存在隐私泄露风险、存储空间限制和功能单一等问题,因此开发一款安全、高效且功能丰富的个人云盘管理系统具有重要意义。本系统旨在为用户提供私有化的文件存储解决方案,支持多格式文件上传、分类管理、在线预览及分享功能,同时确保数据的加密存储和权限控制,满足用户对数据安全和便捷管理的双重需求。 本系统采用前后端分离架构,后端基于SpringBoot框架实现,提供RESTful API接口,整合了JWT身份认证、文件分块上传、MySQL数据库存储等技术,确保系统的高性能和可扩展性。前端使用Vue.js框架开发,结合Element UI组件库,实现了响应式布局和友好的用户交互体验。系统核心功能包括用户注册登录、文件上传下载、文件夹管理、文件分享与权限控制、在线预览(支持图片、文档等格式)以及操作日志记录。关键词:个人云盘、SpringBoot、Vue.js、文

新手必看!Gemma-3-12B-IT WebUI 保姆级教程:从部署到对话全流程

新手必看!Gemma-3-12B-IT WebUI 保姆级教程:从部署到对话全流程 你是不是也对大语言模型充满好奇,想亲手体验一下和AI对话的感觉,但又觉得技术门槛太高,不知道从何下手?别担心,今天这篇教程就是为你准备的。 想象一下,你有一个随时待命的私人助手,能帮你写代码、解答问题、创作文案,甚至陪你聊天。现在,这个助手就摆在眼前——Google最新发布的Gemma-3-12B-IT模型,而且我们已经为你准备好了开箱即用的WebUI界面。 这篇文章将带你从零开始,一步步完成Gemma-3-12B-IT WebUI的部署和使用。不需要你懂复杂的命令行,不需要你配置繁琐的环境,只需要跟着我的步骤走,10分钟内你就能开始和AI对话了。 1. 认识你的新助手:Gemma-3-12B-IT 在开始动手之前,我们先花几分钟了解一下你要部署的这个“助手”到底有什么本事。 1.1 什么是Gemma-3? Gemma-3是Google在2026年发布的一系列轻量级开源语言模型。你可能听说过ChatGPT、Claude这些大模型,但它们的参数动辄上千亿,对普通用户来说部署成本太高。而Ge

voidImageViewer:终极轻量级图像查看器,完美支持GIF/WEBP动画播放

voidImageViewer:终极轻量级图像查看器,完美支持GIF/WEBP动画播放 【免费下载链接】voidImageViewerImage Viewer for Windows with GIF support 项目地址: https://gitcode.com/gh_mirrors/vo/voidImageViewer voidImageViewer 是一款专为 Windows 平台设计的轻量级图像查看器,以其极速加载和流畅的动画播放工具功能而备受好评。这款工具不仅体积小巧,还能高效处理多种主流图像格式,为用户带来前所未有的图片浏览体验。 🚀 项目亮点:为什么选择voidImageViewer? 极速启动与运行:voidImageViewer 的启动速度令人惊叹,几乎在点击瞬间即可完成加载,大幅提升了工作效率。 资源占用极低:作为真正的轻量级应用,voidImageViewer 在后台运行时几乎不占用系统资源,确保您在进行其他工作时依然保持系统流畅。 跨格式兼容性:完美支持 BMP、GIF、ICO、JPG、TIF 和 WEBP 等多种图像格式,

WebMCP:浏览器AI交互新范式_20260213114222

一、WebMCP是什么 1. 基本定义 WebMCP(Web Model Context Protocol)是Google与Microsoft在W3C框架下联合推动的浏览器原生Web API,Chrome 146已推出早期预览版本,核心目标是让网页主动将自身能力封装为结构化工具,供AI Agent直接调用,解决当前Agent操作网页的稳定性与效率问题。 2. 核心思想 把交互从UI层搬到语义层:不再依赖按钮点击、坐标定位或DOM解析,而是让网页直接暴露"提交请假"“搜索航班”“加入购物车"等业务动作,形成结构化工具契约,Agent按契约调用而非"猜UI”。 3. 关键特性 * 双轨API设计:声明式API(HTML表单属性)+ 命令式API(JavaScript注册),兼顾易用性与灵活性 * 浏览器内运行:纯客户端实现,网页本身就是"工具服务器",天然继承用户登录态与权限上下文 * 结构化上下文: