1. 项目概述与背景
十年前我刚入行前端时,部署工作确实简单得多。那时候我们只需要把静态文件打包扔给后端同事,他们就会把这些文件放到Tomcat的webapps目录下,整个部署过程就完成了。但随着前后端分离架构的普及,前端工程师不得不直面服务器部署这个"新课题"。
Vue作为当前最流行的前端框架之一,其项目部署看似简单,实则暗藏不少"坑"。最近在帮团队新人排查部署问题时发现,90%的部署失败都源于对Nginx配置理解不足或忽略了基础环境准备。本文将基于一个真实Vue2项目,详细演示从零开始的完整部署流程,重点解决以下几个核心问题:
- 如何正确打包Vue项目以适应生产环境
- Nginx的安装与关键配置解析
- 部署过程中的典型问题与解决方案
- 性能优化与安全加固建议
提示:虽然本文以CentOS为例,但核心思路同样适用于Ubuntu等Linux发行版,Windows服务器部署只需调整部分命令即可。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与项目初始化
2.1 开发环境配置
在开始之前,请确保本地已安装:
- Node.js 14+(推荐使用nvm管理多版本)
- Vue CLI 4.x(全局安装:
npm install -g @vue/cli) - Git(用于SCP文件传输)
验证环境:
bash复制node -v
# v14.17.0
vue --version
# @vue/cli 4.5.13
2.2 初始化Vue项目
使用Vue CLI创建新项目:
bash复制vue create vue-deploy-demo
关键配置选择:
- Vue 2.x(企业级项目更稳定)
- Babel + Router + Vuex(基础全家桶)
- CSS Pre-processors → Sass/SCSS
- ESLint + Prettier(代码规范)
项目结构说明:
code复制├── public/ # 静态资源
├── src/ # 核心代码
│ ├── assets/ # 静态资源
│ ├── components/ # 组件
│ ├── router/ # 路由配置
│ ├── store/ # Vuex状态管理
│ └── views/ # 页面组件
├── .env.production # 生产环境变量
└── vue.config.js # 构建配置
2.3 服务器基础要求
建议配置:
- 1核CPU + 2GB内存(小型项目足够)
- CentOS 7+/Ubuntu 18.04+
- 开放80/443端口(Web服务)
- 可选开放22端口(SSH连接)
3. Nginx安装与配置详解
3.1 Nginx安装指南
对于CentOS 7:
bash复制# 添加EPEL仓库
