腾讯云服务器部署Java应用前需要安装哪些依赖?

在腾讯云服务器(CVM)上部署 Java 应用前,需根据应用类型(如 Spring Boot、传统 WAR 包、微服务等)和运行环境(Linux 发行版,通常推荐 CentOS Stream 8/9 或 Ubuntu 20.04/22.04)安装必要依赖。以下是通用、关键且推荐的依赖清单及说明


✅ 一、核心必备依赖

依赖 说明 安装建议
Java 运行时环境(JRE)或 JDK Java 应用运行基础。生产环境推荐 JDK 11 或 JDK 17(LTS 版本,兼容性好、安全更新持续)
⚠️ 避免使用 JDK 8(已停止公共更新,存在安全风险)
• Ubuntu:
sudo apt update && sudo apt install openjdk-17-jdk
• CentOS/RHEL(使用 dnf):
sudo dnf install java-17-openjdk-devel
强烈建议通过官方渠道安装(如 Adoptium/Temurin 或 Amazon Corretto),避免 OpenJDK 二进制包版本不一致问题
系统基础工具 curl, wget, unzip, tar, vim/nano, ps, netstat/ss, lsof Ubuntu:sudo apt install curl wget unzip vim net-tools lsof
CentOS:sudo dnf install curl wget unzip vim-enhanced net-tools lsof

✅ 二、可选但强烈推荐的依赖(提升稳定性与可观测性)

依赖 作用 说明
systemd(Linux 默认) 用于管理 Java 进程为系统服务(如 spring-boot.jar 启动为 service) ✅ 默认已安装(现代 Linux 发行版均启用 systemd),无需额外安装;需编写 .service 文件实现开机自启、日志集成、自动重启等
nginx(反向X_X & HTTPS) 对外提供 HTTP/HTTPS 访问,隐藏端口(如 8080),支持负载均衡、静态资源托管、SSL 终止 sudo apt install nginx(Ubuntu) / sudo dnf install nginx(CentOS)
✅ 生产环境必须配置 HTTPS(可用腾讯云 SSL 证书 + nginx 部署)
certbot(配合 Let’s Encrypt) 自动申请和续期免费 HTTPS 证书 sudo apt install certbot python3-certbot-nginx(Ubuntu)
logrotate 自动轮转 Java 应用日志(如 app.log),防止磁盘爆满 sudo apt install logrotate(Ubuntu) / sudo dnf install logrotate(CentOS)
✅ 配合应用日志框架(Logback/Log4j2)配置滚动策略
JDK 监控工具(可选) jstat, jstack, jmap, jcmd(JDK 自带)
✅ 已随 JDK 安装,无需额外操作;建议熟悉基本用法用于故障排查

✅ 三、按部署方式补充依赖

部署方式 额外依赖 说明
Docker 部署 docker, docker-compose 若容器化部署:
curl -fsSL https://get.docker.com | sudo sh
sudo systemctl enable docker && sudo systemctl start docker
✅ 推荐使用 openjdk:17-jre-slim 等官方镜像构建
WAR 包 + Tomcat tomcat9(或手动解压 Apache Tomcat) Ubuntu:sudo apt install tomcat9 tomcat9-admin
⚠️ 注意权限配置(避免 root 启动)、server.xml 端口/上下文配置、webapps/ROOT 部署路径
数据库连接 对应 JDBC 驱动(不装在系统,而应打包进应用 ✅ JDBC 驱动(如 mysql-connector-java-8.0.x.jar应作为应用依赖引入(Maven/Gradle),不要手动拷贝到 $JAVA_HOME/jre/lib/ext(已废弃且不安全)
Redis / MQ 等中间件 客户端库(同上)→ 应用内依赖 ❌ 不需要在系统安装 Redis 服务端(除非自建),若用腾讯云 CRS(Redis)或 TDMQ,则只需应用配置连接地址+密码

⚠️ 四、重要注意事项(避坑指南)

  1. 不要安装多个 JDK 混乱管理
    → 使用 update-alternatives --config java(Ubuntu/Debian)或 alternatives --config java(CentOS)统一管理 JAVA_HOME。

  2. 设置 JAVA_HOME 环境变量(关键!)

    # 查看 JDK 路径(例如)
    sudo update-java-alternatives -l  # Ubuntu
    # 或
    sudo find /usr/lib/jvm -name "jdk-17*"  # 手动查找

    编辑 /etc/environment~/.bashrc

    export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64  # Ubuntu 示例
    export PATH=$JAVA_HOME/bin:$PATH
    source ~/.bashrc
  3. 防火墙配置(腾讯云安全组 ≠ 系统防火墙)
    ✅ 必须在 腾讯云控制台 > CVM 实例 > 安全组 中放行端口(如 80、443、8080);
    ❌ 系统自带 firewalld/ufw 一般建议关闭(由云平台安全组统一管控),避免双重策略冲突:

    sudo ufw disable          # Ubuntu
    sudo systemctl stop firewalld && sudo systemctl disable firewalld  # CentOS
  4. 应用启动脚本建议
    ✅ 使用 nohup java -jar app.jar --spring.profiles.active=prod > app.log 2>&1 &
    ✅ 更佳实践:用 systemd 管理(支持优雅停机、重启策略、日志 journalctl -u myapp

  5. 内存调优(必做)

    java -Xms512m -Xmx1024m -XX:+UseG1GC -jar app.jar

    根据 CVM 规格合理设置 -Xmx(建议不超过总内存的 75%),避免 OOM。


✅ 五、一键检查清单(部署前执行)

# 1. 检查 JDK
java -version
echo $JAVA_HOME

# 2. 检查端口是否空闲(如 8080)
ss -tuln | grep :8080

# 3. 检查时间同步(Java 应用对时间敏感)
timedatectl status

# 4. 检查 ulimit(高并发需调大)
ulimit -n  # 建议 ≥ 65535

📌 总结:最小可行依赖组合(推荐新手起步)

环境 必装项
Ubuntu 22.04 openjdk-17-jdk, nginx, curl, unzip, vim, net-tools, logrotate
CentOS Stream 9 java-17-openjdk-devel, nginx, curl, unzip, vim-enhanced, net-tools, logrotate

✅ 完成后即可上传 JAR/WAR,配置 nginx 反代 + HTTPS,用 systemd 托管进程 —— 一套标准、安全、可运维的 Java 生产环境即搭建完成。

如需我为你生成:

  • systemd 服务文件模板
  • ✅ nginx 反向X_X HTTPS 配置(含腾讯云 SSL 证书路径)
  • ✅ Logback 日志滚动配置示例
  • ✅ Dockerfile 示例(多阶段构建)
    欢迎随时告诉我你的具体场景(如 Spring Boot 版本、是否用 Nacos/Redis、是否容器化),我可以为你定制方案 👇
未经允许不得转载:CLOUD云枢 » 腾讯云服务器部署Java应用前需要安装哪些依赖?