跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScript大前端

Nginx 部署前端 Vue 项目实战指南

Vue 项目部署至 Nginx 需完成安装、打包及配置三步。涵盖 Windows 与 Linux 环境下 Nginx 的安装方法,Vue 项目的 npm run build 打包流程,以及关键的 Nginx 配置文件编写。重点解析 SPA 路由刷新 404 问题的解决方案,即通过 try_files 指令将请求重定向至 index.html,确保单页应用路由正常工作。最后提供平滑重载命令及验证步骤。

禅心发布于 2026/4/7更新于 2026/10/22131 浏览
Nginx 部署前端 Vue 项目实战指南

Nginx 简介

Nginx 是一款轻量级 HTTP 服务器,采用事件驱动的异步非阻塞架构,IO 性能优异,常用于反向代理和负载均衡。

主要优势:

  • 高并发支持:基于 epoll 机制,官方测试可达 5 万并发,生产环境稳定支撑 2-4 万连接。
  • 内存占用低
  • 配置简洁
  • 功能丰富:支持灰度发布、负载均衡等

安装 Nginx

Windows 环境

直接下载对应版本的压缩包并解压即可。

启动服务:

cd F:\nginx-1.19.4
start nginx

Linux 环境

生产环境推荐使用 Linux。安装方式主要有两种:使用官方编译包或源码编译。

  • 官方包:参考 Nginx 官方文档
  • 源码编译:下载 tar.gz 包自行编译,详见 Building from Sources

Windows 与 Linux 部署 Vue 的核心逻辑一致,只需将构建好的 dist 目录上传至服务器,修改 Nginx 配置中的 root 路径指向该目录即可。

重启服务示例:

# CentOS 7
systemctl restart nginx.service
# CentOS 6
service nginx restart
# 平滑重载
service nginx reload

打包 Vue 项目

在项目根目录执行以下命令生成静态资源:

npm run build

(此处建议展示构建成功的控制台输出截图)

配置 Nginx

编辑 conf/nginx.conf 文件,找到 server 块并进行如下配置。这一步很关键,解决了 Vue Router History 模式刷新 404 的问题。

server {
    listen 80;
    server_name localhost;
    root /path/to/vue/dist; # 请替换为实际 dist 目录路径

    location / {
        try_files $uri $uri/ @router;
        index index.html index.htm;
    }

    location @router {
        rewrite ^.*$ /index.html last;
    }
}

配置说明:

  1. root 指向 Vue 打包后的 dist 文件夹。
  2. try_files 指令优先尝试匹配真实文件,若失败则转发给 @router 处理。
  3. @router 重写所有请求为 index.html,由前端路由接管后续跳转,避免后端找不到资源。

配置完成后,重载 Nginx 生效:

nginx -s reload

最后在浏览器访问 http://localhost 验证部署是否成功。记得把路径改成你实际的服务器目录哦。

目录

  1. Nginx 简介
  2. 安装 Nginx
  3. Windows 环境
  4. Linux 环境
  5. CentOS 7
  6. CentOS 6
  7. 平滑重载
  8. 打包 Vue 项目
  9. 配置 Nginx

更多推荐文章

查看全部
  • C++ 高并发内存池实战:ThreadCache 设计与实现
  • 法律领域自然语言处理(NLP)应用场景与实战
  • Android 开发工程师职业发展路径与行业现状深度解析
  • Unity-MCP 配置指南:实现 AI 驱动游戏开发
  • 人工智能应用工程师(高级)课程体系与实战路径解析
  • AI 安全研究:基于 PGD 的 Stable Diffusion 视觉提示词注入分析
  • C++ 函数指针与回调函数深度解析
  • Rust 与 WebAssembly 深度实战:高性能代码运行于浏览器与 Node.js
  • Pi0 机器人大模型在昇腾 A2 上的部署与性能测评
  • Java 使用 MemCachedClient 遍历 Memcached 所有 Key 的方法
  • Trae 集成 Figma MCP 实现前端代码自动生成
  • 消息队列理论基础与 Kafka 架构价值解析
  • LeetCode 92 链表区间反转:递归反转与哨兵技巧详解
  • ToDesk、顺网云与海马云部署 DeepSeek 性能横向评测
  • 使用AI工具开发OpenBB后端用户认证机制:Trae vs. Qoder vs. Copilot 实战对决
  • JVS-APS 开源智能排产系统:算法驱动与低代码融合
  • Python 文件操作基础
  • AIGC 时代:利用大模型辅助青少年编程学习与项目实践
  • QClaw 本地 AI 代理框架上手指南
  • LLM 评估指标详解:如何客观对比 LLaMA-3 与 GPT-4 能力

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online