走啊走
加油

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

服务器价格表

在腾讯云服务器上部署 Java 应用前,需要根据应用类型(如 Spring Boot、普通 Java Web、微服务等)安装相应的依赖和环境。以下是常见的必要依赖和步骤:


一、基础环境准备

1. 操作系统

  • 推荐使用:CentOS 7/8Ubuntu 20.04/22.04 LTSDebian
  • 确保系统已更新:

    # 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. 监控与日志工具(可选)

  • 安装 htopnetstatjournalctl 查看资源和日志
  • 配置日志轮转(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),可进一步细化依赖。欢迎补充应用类型,我可以给出更精确的部署方案。