在腾讯云服务器(CVM)上部署 Spring Boot + Vue 项目时,选择合适的镜像主要取决于你对系统环境的熟悉程度、运维能力以及部署方式。以下是几种常见且推荐的镜像选择和部署方案:
✅ 推荐镜像:Ubuntu Server 20.04 / 22.04 LTS 或 CentOS 7/8
📌 理由:
- 社区支持好,文档丰富,适合初学者和中级用户。
- 包管理方便(APT for Ubuntu,YUM/DNF for CentOS),便于安装 Java、Node.js、Nginx、MySQL 等依赖。
- 长期支持版本(LTS),稳定性高,适合生产环境。
👉 推荐使用 Ubuntu 22.04 LTS,因其软件源较新,对现代开发工具(如 Node.js、OpenJDK)支持更好。
🔧 部署架构建议
| 组件 | 技术栈 |
|---|---|
| 后端 | Spring Boot(Java) |
| 前端 | Vue.js(打包为静态文件) |
| Web 服务器 | Nginx(反向 + 静态资源服务) |
| 运行环境 | OpenJDK + Node.js(构建用) |
🛠️ 部署步骤概览(基于 Ubuntu 22.04)
1. 购买并登录 CVM
- 选择地域、带宽、安全组(开放 80、443、22 端口)
- 登录方式:SSH
2. 安装必要环境
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装 OpenJDK(Spring Boot 所需)
sudo apt install openjdk-17-jdk -y
# 安装 Node.js(用于构建 Vue 项目,也可本地构建后上传)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
# 安装 Nginx(前端静态资源 + 反向)
sudo apt install nginx -y
# (可选)安装数据库,如 MySQL / Redis
sudo apt install mysql-server -y
3. 部署 Spring Boot 应用
- 上传
your-app.jar - 使用
nohup或systemd启动:nohup java -jar your-app.jar --server.port=8080 &
4. 部署 Vue 项目
-
在本地或服务器上构建:
npm run build -
将
dist/目录上传到服务器,例如/var/www/vue-app -
配置 Nginx:
server { listen 80; server_name your-domain.com; # 前端静态文件 location / { root /var/www/vue-app; index index.html; try_files $uri $uri/ /index.html; } # API 请求到 Spring Boot location /api/ { proxy_pass http://localhost:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } -
重启 Nginx:
sudo systemctl restart nginx
🐳 更优方案:使用 Docker 镜像(推荐进阶用户)
你可以使用 Docker + Docker Compose 来统一管理前后端服务。
推荐基础镜像:
- 后端:
eclipse-temurin:17-jre(轻量 JDK 运行环境) - 前端:
nginx:alpine(轻量级 Nginx 容器)
示例 Dockerfile 和 docker-compose.yml 可以帮助你实现一键部署。
优势:环境隔离、易于迁移、适合 CI/CD。
❌ 不推荐的镜像类型
- Windows Server(除非必须运行 .NET 或特定 Windows 软件)
- 自定义镜像(来源不明,安全性难保证)
- 很老的 Linux 版本(如 Ubuntu 16.04、CentOS 6)
✅ 总结:最佳实践推荐
| 项目 | 推荐选择 |
|---|---|
| 操作系统镜像 | Ubuntu 22.04 LTS |
| Java 环境 | OpenJDK 17 |
| Node.js | v16/v18(用于构建 Vue) |
| Web 服务器 | Nginx |
| 部署方式 | Nginx 反向 + JAR 包直接运行 |
| 高级选项 | Docker 部署(更规范、易维护) |
如果你希望更省心,还可以考虑:
- 使用 腾讯云 TKE(容器服务) 部署 Docker 化应用
- 使用 云开发 CloudBase 部署 Vue 前端(免费 CDN + HTTPS)
- 使用 SCF(Serverless) 托管后端 API(适合轻量接口)
需要我提供完整的 Docker 部署模板或自动化脚本吗?欢迎继续提问!
CLOUD技术笔记