跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScriptNode.js大前端

Nginx 部署前端 Vue 项目实战

Nginx 轻量级 HTTP 服务器,常用于反向代理与负载均衡。在 Windows 及 Linux 环境下安装 Nginx,打包 Vue 项目后配置 Nginx 实现单页应用路由支持,解决刷新 404 问题,完成前端资源静态化部署。重点讲解了 try_files 配置原理及 SPA 路由回退机制。

神经兮兮发布于 2026/3/30更新于 2026/7/2135 浏览
Nginx 部署前端 Vue 项目实战

Nginx 简介

Nginx 是一款轻量级的 HTTP 服务器,采用事件驱动的异步非阻塞处理方式,具有极高的 IO 性能。在生产环境中,它常被用作反向代理和负载均衡器。

核心优势:

  • 高并发支持:基于 epoll 机制,官方测试可支撑 5 万并发连接,实际生产环境通常能稳定承载 2-4 万。
  • 资源占用低:内存消耗相对较少。
  • 配置灵活:配置文件简洁,支持灰度发布、负载均衡等高级功能。

部署步骤

1. 安装 Nginx

虽然 Windows 环境下也能运行 Nginx,但生产环境更推荐使用 Linux。

Windows 环境

直接下载对应版本的压缩包解压即可。启动命令示例:

cd F:\nginx-1.19.4
start nginx
Linux 环境

Linux 下安装主要有两种方式:使用官方编译好的包或源码构建。

  • 包管理安装:参考 官方文档。
  • 源码编译:下载 tar.gz 包后自行编译,详见 Building from Sources。

无论哪种方式,核心逻辑一致:将打包后的 dist 目录上传至服务器,修改 Nginx 配置中的 root 路径指向该目录。

重启服务命令(以 CentOS 为例):

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

2. 打包 Vue 项目

在本地开发机执行构建命令,生成静态资源:

npm run build

构建完成后,你会得到一个包含 index.html、js、css 等文件的 dist 目录。

3. 配置 Nginx

这是最关键的一步。Vue 作为单页应用(SPA),其路由通常由前端 JS 处理。如果用户直接访问某个子路径(如 /user/profile)并刷新浏览器,Nginx 会尝试寻找该物理文件,导致 404 错误。我们需要配置 Nginx 将所有请求回退到 index.html。

编辑 conf/nginx.conf,找到 server 块,配置如下:

server {
    listen       80;
    server_name  localhost;
    
    # 指向 Vue 项目的 dist 目录
    root   /path/to/your/project/dist;
    index  index.html index.htm;

    location / {
        # 核心配置:优先查找文件,找不到则重写为 index.html
        try_files $uri $uri/ @router;
    }

    # 兜底规则:所有未匹配的路径都返回 index.html
    location @router {
        rewrite ^.*$ /index.html last;
    }
}

注意:请将 root 路径替换为你实际的文件路径。Windows 下注意转义斜杠或使用正斜杠。

4. 验证部署

配置修改后,需要重新加载 Nginx 生效:

nginx -s reload

最后,在浏览器访问 http://localhost 进行测试。如果能正常进入首页且切换路由后刷新不报错,说明部署成功。

目录

  1. Nginx 简介
  2. 部署步骤
  3. 1. 安装 Nginx
  4. Windows 环境
  5. Linux 环境
  6. CentOS 7
  7. 平滑重载配置
  8. 2. 打包 Vue 项目
  9. 3. 配置 Nginx
  10. 4. 验证部署
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 前端如何设计可信的 AI 产品体验
  • Linux 常用基础命令
  • 中科大等研究发现:大模型不看图也能回答视觉问题
  • Whisper.cpp CUDA 加速实战与性能优化指南
  • 二分答案专题实战:木材加工与砍树问题解析
  • AI 高效采集全渠道用户需求的实操技巧
  • AI 写作的发展趋势与展望
  • 光伏产品缺陷检测 AI 深度学习算法技术方案
  • 多旋翼物流无人机节能轨迹规划及 Python 实现
  • Python 数据处理进阶:掌握 Filter 函数的高级用法
  • Django 日志记录配置与使用详解
  • Java 开发中 TIME_WAIT 状态过多的原因与应对策略
  • AI 实践:提示词工程核心方法与优化策略
  • Java 并发编程:volatile、内存屏障与 CPU 缓存详解
  • Apache SeaTunnel Web 可视化数据集成平台实战指南
  • Ubuntu SSH 服务安装与配置详解
  • PyCharm 配置 Anaconda 环境时找不到 Conda 环境的解决方法
  • Python 网络流量模拟工具架构解析与合规使用
  • GitHub 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