腾讯云服务器部署Spring Boot和Vue项目,用什么镜像最合适?

在腾讯云服务器(CVM)上部署 Spring Boot + Vue 项目时,选择合适的镜像主要取决于你对系统环境的熟悉程度、运维能力以及部署方式。以下是几种常见且推荐的镜像选择和部署方案:


✅ 推荐镜像:Ubuntu Server 20.04 / 22.04 LTS 或 CentOS 7/8

📌 理由:

  1. 社区支持好,文档丰富,适合初学者和中级用户。
  2. 包管理方便(APT for Ubuntu,YUM/DNF for CentOS),便于安装 Java、Node.js、Nginx、MySQL 等依赖。
  3. 长期支持版本(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
  • 使用 nohupsystemd 启动:
    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 容器)

示例 Dockerfiledocker-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 部署模板或自动化脚本吗?欢迎继续提问!