运行一个 Spring Boot 小应用 + MySQL 数据库,选择阿里云服务器(ECS)时,资源配置应根据应用的预期负载、用户量和数据规模来决定。以下是针对中小型项目或开发/测试环境的推荐配置。
🎯 适用场景
- 个人项目、创业初期、内部系统
- 日访问量小于 1 万 PV
- 用户并发数小于 50
- 数据量较小(< 1GB)
✅ 推荐阿里云 ECS 配置(入门级)
| 项目 | 推荐配置 |
|---|---|
| 实例规格 | ecs.t6-c1m2.large 或 ecs.g6.large |
| CPU | 2 核 |
| 内存 | 4 GB |
| 操作系统 | CentOS 7.9 / Ubuntu 20.04 LTS |
| 系统盘 | 40 GB 高效云盘(建议 SSD) |
| 数据盘(可选) | 50~100 GB(用于 MySQL 数据存储,建议单独挂载) |
| 带宽 | 1 Mbps ~ 3 Mbps(按需调整) |
| 公网 IP | 分配公网 IPv4 |
| 安全组 | 开放 80(HTTP)、443(HTTPS)、3306(MySQL,建议限制 IP 访问)、22(SSH)等端口 |
💡 注:
t6是突发性能实例,性价比高,适合轻量负载;若需稳定性能,建议使用g6或g7通用型实例。
🔧 软件部署建议
-
JVM 参数建议(Spring Boot)
-Xms1g -Xmx2g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m(留出内存给 MySQL 和操作系统)
-
MySQL 配置优化(my.cnf)
[mysqld] innodb_buffer_pool_size = 1G max_connections = 150 key_buffer_size = 16M query_cache_type = 1 query_cache_size = 32M -
部署方式
- 使用 Nginx 反向X_X Spring Boot 应用(端口 8080 → 80)
- 启用 Gzip 压缩
- 使用 Let’s Encrypt 配置 HTTPS(Certbot)
💰 成本估算(按月)
| 项目 | 价格(约) |
|---|---|
| ecs.t6-c1m2.large(2核4G) | ¥60 ~ ¥80 |
| 云盘(100GB SSD) | ¥30 |
| 公网带宽(1Mbps) | ¥23 |
| 合计 | ¥110 ~ ¥130 / 月 |
⚠️ 若流量增长,可升级为
ecs.g6.large(约 ¥200/月),性能更稳定。
🔐 安全建议
- 不要将 MySQL 的 3306 端口对公网开放,仅限内网或通过 SSH 隧道访问。
- 使用阿里云 RDS 替代自建 MySQL(更高可用性,但成本略高)。
- 定期备份数据库(可使用阿里云快照或脚本自动导出)。
✅ 更高要求?可升级配置
| 场景 | 推荐配置 |
|---|---|
| 日活 > 1 万 | 4核8G + RDS MySQL + Redis 缓存 |
| 高并发 API 服务 | 考虑负载均衡 + 多台 ECS + Docker/K8s |
| 生产环境 | 使用专有网络 VPC、RDS、OSS、SLB 等完整架构 |
总结
对于大多数 Spring Boot 小项目,2核4G 的 ECS + 自建 MySQL 完全够用,总成本控制在 150元/月以内 是可行的。
🌟 建议:初期使用
ecs.t6-c1m2.large,后期根据监控(CPU、内存、磁盘IO)灵活升级。
如需,我可以提供一键部署脚本或阿里云镜像模板建议。
秒懂云