跳到主要内容
极客日志极客日志面向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/9/1174 浏览
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++ 继承机制详解:从基础到多继承模型
  • 使用 APT 包管理器安装 libwebkit2gtk-4.1-0 指南
  • MiniMax 海螺 AI:图片与文本生成高质量视频指南
  • Windows 环境下 RabbitMQ 启动失败解决方案
  • Python Web 开发:Flask 框架入门与实践
  • Nginx 部署前端 Vue 项目指南
  • VS Code Remote WSL 中 Copilot 代理设置与网络问题排查
  • AI Agent 入门:从定义到核心能力与展望
  • Kubernetes 中部署 Prometheus 实战指南
  • 如何利用 AI 辅助设计科研论文图文摘要 (Graphical Abstract)
  • 金仓数据库(KingbaseES)迁移与集群部署实战:从 MySQL 到 KES 全流程
  • Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码
  • C++ 模板基础入门
  • 2022 年全球软件工程师薪酬排行榜数据解析
  • 拆解机器人底盘 DDSM400 钕强磁外转子 65mm 伺服轮毂电机
  • OkHttp 与浏览器网络请求差异及核心原理解析
  • Java 常见集合框架详解
  • 存储扇区分配表:NAND Flash 与 SD NAND 架构差异
  • Nginx 部署前端 Vue 项目步骤
  • WSL 中 VS Code Remote 连接 Copilot 代理配置问题及解决

相关免费在线工具

  • 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