在腾讯云服务器上部署 Java 应用之前,需要根据你的应用类型(如 Spring Boot、普通 Java Web、微服务等)安装相应的依赖和环境。以下是常见的必备依赖和步骤:
一、基础环境依赖
1. Java 运行环境(JRE/JDK)
- 大多数 Java 应用需要 JDK 或 JRE。
- 推荐使用 OpenJDK 或 Oracle JDK。
# Ubuntu/Debian 安装 OpenJDK 11(推荐)
sudo apt update
sudo apt install openjdk-11-jdk -y
# 或者安装 JDK 17(适用于较新项目)
sudo apt install openjdk-17-jdk -y
# 验证安装
java -version
javac -version
注意:Spring Boot 3+ 要求 JDK 17 或更高版本。
2. 构建工具(可选,用于本地打包)
如果你在服务器上直接编译源码,还需要安装构建工具:
Maven
sudo apt install maven -y
mvn -version
Gradle(较少见)
# 下载并配置 Gradle(可手动或使用 SDKMAN)
建议:一般推荐在本地开发环境打包成 JAR/WAR,然后上传到服务器运行,避免在服务器上编译。
二、Web 应用相关依赖(按需)
3. Web 服务器 / 应用容器
- 如果是 Spring Boot 内嵌 Tomcat 的 JAR 包,无需额外安装。
- 如果是传统 WAR 包,则需要安装外部容器:
Tomcat
sudo apt install tomcat9 tomcat9-admin -y
其他容器(Jetty、Undertow 等):通常内嵌,无需单独安装。
4. Nginx(反向X_X & 静态资源)
用于反向X_X、负载均衡、HTTPS、静态资源托管等。
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
配置示例(将请求X_X到 Java 应用的 8080 端口):
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
5. 数据库客户端与驱动(按需)
- 如果你的 Java 应用连接 MySQL、PostgreSQL 等数据库:
- 不需要在服务器安装数据库(除非本地部署 DB)
- 但需确保 Java 应用包含正确的 JDBC 驱动(Maven 自动管理)
示例:MySQL Connector/J 已通过 Maven 引入即可,无需系统级安装。
三、系统工具与安全
6. 防火墙配置
开放必要端口(如 80、443、8080):
# 使用 ufw
sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 8080
sudo ufw enable
也可在腾讯云控制台配置 安全组规则,推荐方式。
7. 后台进程管理工具
让 Java 应用在后台持续运行:
使用 nohup 或 screen
nohup java -jar myapp.jar > app.log 2>&1 &
推荐:使用 systemd(更稳定)
创建服务文件 /etc/systemd/system/myapp.service:
[Unit]
Description=My Java Application
After=network.target
[Service]
User=root
ExecStart=/usr/bin/java -jar /opt/myapp/myapp.jar
Restart=always
[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp
8. 日志监控
- 使用
tail,journalctl,logrotate管理日志 - 可集成 ELK、Prometheus + Grafana(进阶)
四、其他可选依赖
| 用途 | 工具 |
|---|---|
| HTTPS 证书 | Let’s Encrypt + Certbot |
| 文件传输 | scp, rsync, sftp |
| 版本控制 | git(用于拉取代码) |
| 监控 | htop, netstat, nmon |
总结:最小化部署清单
| 项目 | 是否必需 | 说明 |
|---|---|---|
| JDK | ✅ 必需 | 根据应用选择 8/11/17 |
| JAR 包 | ✅ 必需 | 打包好的 .jar 文件 |
| systemd 或 nohup | ✅ 推荐 | 保持应用常驻 |
| Nginx | ⚠️ 可选 | 做反向X_X或静态资源 |
| 防火墙/安全组 | ✅ 必需 | 开放端口 |
| 数据库驱动 | ✅ 应用内含 | Maven 自动引入 |
✅ 建议流程:
- 购买腾讯云 CVM(Ubuntu/CentOS)
- 安装 JDK
- 上传打包好的 JAR 文件(如
spring-boot-app.jar) - 使用
systemd启动应用 - 配置 Nginx 反向X_X(可选)
- 配置域名和 HTTPS(可选)
如有具体框架(如 Spring Boot、Dubbo、微服务等),可进一步细化依赖。欢迎补充你的应用场景,我可以给出更精准的部署方案。
云服务器