在腾讯云服务器上部署 Java 应用前,需要根据应用类型(如 Spring Boot、普通 Java Web、微服务等)安装相应的依赖和环境。以下是常见的必要依赖和步骤:
一、基础环境准备
1. 操作系统
- 推荐使用:CentOS 7/8、Ubuntu 20.04/22.04 LTS 或 Debian
-
确保系统已更新:
# CentOS/RHEL sudo yum update -y # Ubuntu/Debian sudo apt update && sudo apt upgrade -y
2. Java 运行环境(JRE/JDK)
Java 应用必须依赖 Java 虚拟机(JVM),通常需要安装 JDK。
安装 OpenJDK(推荐方式)
# Ubuntu/Debian
sudo apt install openjdk-11-jdk -y
# 或者 JDK 17(推荐用于新项目)
sudo apt install openjdk-17-jdk -y
# CentOS/RHEL
sudo yum install java-11-openjdk-devel -y
# 或者 JDK 17
sudo yum install java-17-openjdk-devel -y
验证安装
java -version
javac -version
提示:生产环境建议固定版本,避免自动升级导致兼容性问题。
3. 构建工具(可选,视开发方式而定)
如果你需要在服务器上编译代码(不推荐,建议本地打包后上传),则需安装:
-
Maven
sudo apt install maven -y # Ubuntu sudo yum install maven -y # CentOS -
Gradle(较少见)
手动下载并配置环境变量。
4. Web 服务器或容器(视应用类型)
情况一:Spring Boot 内嵌 Tomcat(最常见)
- 不需要额外安装 Tomcat,直接运行 JAR 包即可。
- 示例启动命令:
nohup java -jar your-app.jar > app.log 2>&1 &
情况二:传统 WAR 包部署到 Tomcat
- 需要安装 Tomcat:
sudo apt install tomcat9 -y # Ubuntu sudo yum install tomcat -y # CentOS - 将 WAR 包放入
webapps目录。
5. 数据库客户端与连接(按需)
如果应用连接数据库,确保能访问数据库服务(本地或远程),可能需要:
- MySQL 客户端(测试连接用):
sudo apt install mysql-client -y - PostgreSQL 客户端:
sudo apt install postgresql-client -y
注意:数据库可以部署在同服务器,也可使用腾讯云的 云数据库 CDB。
6. 防火墙与安全组配置
- 开放所需端口(如 8080、80、443、22 等)
- 在腾讯云控制台配置 安全组规则,允许外部访问应用端口。
-
Linux 防火墙(firewalld/ufw):
# CentOS 使用 firewalld sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --reload # Ubuntu 使用 ufw sudo ufw allow 8080
7. 反向X_X(可选但推荐)
使用 Nginx 做反向X_X,提升性能和安全性:
sudo apt install nginx -y
配置示例(/etc/nginx/sites-available/your-app):
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
8. 进程守护工具(推荐)
防止 Java 进程意外退出:
-
systemd(推荐,Linux 标准方式)
创建服务文件/etc/systemd/system/myapp.service:[Unit] Description=My Java Application After=network.target [Service] User=root ExecStart=/usr/bin/java -jar /opt/myapp/app.jar Restart=always [Install] WantedBy=multi-user.target启用服务:
sudo systemctl daemon-reexec sudo systemctl enable myapp sudo systemctl start myapp -
其他工具:Supervisor、pm2(通过 npm 安装)
9. 监控与日志工具(可选)
- 安装
htop、netstat、journalctl查看资源和日志 - 配置日志轮转(logrotate)
- 可接入腾讯云 云监控 或 Prometheus + Grafana
总结:最小化必备依赖清单
| 组件 | 是否必需 | 说明 |
|---|---|---|
| JDK 11/17 | ✅ 必需 | 运行 Java 应用 |
| 应用 JAR/WAR 包 | ✅ 必需 | 你的程序文件 |
| systemd / 进程管理 | ✅ 推荐 | 保证后台运行 |
| 防火墙/安全组 | ✅ 必需 | 外部可访问 |
| Nginx(可选) | ⭕ 推荐 | 反向X_X、HTTPS |
| 数据库客户端 | ⭕ 按需 | 测试数据库连接 |
补充建议
- 使用 Docker 部署更方便(可封装所有依赖)
- 使用 CI/CD 工具(如 Jenkins、GitHub Actions)自动化部署
- 启用 SSL 证书(Let's Encrypt + Nginx)
如有具体应用框架(如 Spring Boot、Dubbo、Spring Cloud),可进一步细化依赖。欢迎补充应用类型,我可以给出更精确的部署方案。
CLOUD云计算