在阿里云上部署 Java 项目(尤其是 Web 项目)时,需要合理配置服务器环境和资源。以下是详细的配置建议,涵盖 服务器类型、操作系统、软件环境、安全设置、网络配置 等方面。
一、服务器选择(ECS 实例)
1. 实例规格推荐
根据项目规模选择合适的 ECS 实例:
| 项目规模 | 推荐实例规格 | CPU/内存 | 适用场景 |
|---|---|---|---|
| 小型项目/测试 | ecs.t6-c1m2.large | 2核2G | 学习、演示、低并发 Web |
| 中小型生产项目 | ecs.c6.large | 2核4G | 正常访问量的 Spring Boot 项目 |
| 中大型项目 | ecs.c6.xlarge 或更高 | 4核8G+ | 高并发、微服务架构 |
建议:初学者或中小型项目选 2核4G 起步,带宽至少 1Mbps。
2. 操作系统
- 推荐:CentOS 7.x / 8.x 或 Alibaba Cloud Linux 3
- 也可选 Ubuntu Server 20.04 LTS
- 64位系统,确保兼容 Java 运行环境
2. 软件环境配置
必需组件
| 组件 | 说明 |
|---|---|
| JDK | OpenJDK 8 / 11 / 17(根据项目要求) |
| Tomcat | 如果是传统 WAR 包部署(如 Spring MVC),需安装 Tomcat 9+ |
| Spring Boot | 内嵌 Tomcat,可直接运行 jar 包,无需单独安装 Tomcat |
| MySQL / PostgreSQL | 数据库(可本地安装或使用 RDS) |
| Nginx | 反向、负载均衡、静态资源托管(推荐) |
| Redis | 缓存(按需) |
示例安装命令(CentOS)
# 安装 OpenJDK 8
sudo yum install -y java-1.8.0-openjdk-devel
# 验证安装
java -version
javac -version
若项目使用 Spring Boot 打成
jar包,只需 JVM 即可运行。
3. 项目部署方式
方式一:Spring Boot JAR 包部署(推荐)
# 上传 jar 文件到服务器(如:myapp.jar)
nohup java -jar myapp.jar > app.log 2>&1 &
# 或使用后台管理工具(如 systemd)
方式二:WAR 包 + Tomcat
- 下载并解压 Tomcat
- 将 WAR 包放入
webapps目录 - 启动 Tomcat:
./bin/startup.sh
4. 网络与安全配置
安全组规则(关键!)
必须在阿里云控制台配置安全组,放行以下端口:
| 端口 | 协议 | 用途 |
|---|---|---|
| 22 | SSH | 远程登录(建议限制 IP) |
| 80 | HTTP | Web 访问 |
| 443 | HTTPS | SSL 加密访问 |
| 8080 | HTTP | Tomcat 默认端口(可改) |
| 3306 | MySQL | 数据库(若本地部署,建议不开放公网) |
⚠️ 建议:不要开放 3306 给 0.0.0.0/0,应通过内网或跳板机连接。
5. 域名与 HTTPS(可选但推荐)
步骤:
- 购买域名(阿里云万网)
- 备案(我国大陆服务器必须备案)
- DNS 解析到 ECS 公网 IP
- 使用 Nginx + Let’s Encrypt 配置 HTTPS
Nginx 示例配置
server {
listen 80;
server_name yourdomain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
location / {
proxy_pass http://localhost:8080; # 转发到 Java 应用
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
6. 数据库建议
- 轻量级项目:MySQL 安装在 ECS 上
- 中大型项目:使用阿里云 RDS(MySQL/PostgreSQL)
- 更稳定、自动备份、高可用
- 内网连接,提升安全性与性能
7. 其他优化建议
| 项目 | 建议 |
|---|---|
| 监控 | 安装云监控 Agent,或使用 Prometheus + Grafana |
| 日志 | 使用 ELK 或简单文件轮转(logrotate) |
| 备份 | 定期快照 ECS 系统盘 + 数据盘 |
| 自动化 | 使用 Shell 脚本或 Jenkins 实现自动化部署 |
总结:最小可行配置清单
✅ 阿里云 ECS 实例(2核4G,CentOS 7)
✅ 安装 JDK 8 或以上
✅ 上传并运行 Java Web 项目(JAR/WAR)
✅ 安全组开放 80、443、22(限制 IP)
✅ 使用 Nginx 做反向(可选但推荐)
✅ 域名备案 + HTTPS(正式上线必备)
如果你提供具体的项目类型(如:Spring Boot、SSM、微服务等),我可以给出更精确的部署脚本和配置模板。
ECLOUD博客