奋斗
努力

腾讯云服务器linux环境下java项目持久化部署?

云计算

在腾讯云服务器的 Linux 环境下持久化部署 Java 项目,通常包括以下几个关键步骤。以下是一个完整的、生产环境可用的部署流程:


✅ 一、准备工作

1. 购买并登录腾讯云服务器

  • 登录 腾讯云控制台
  • 创建 CVM 实例(推荐选择 Ubuntu/CentOS)
  • 获取公网 IP 和登录凭证(密钥或密码)

2. 连接服务器

使用 SSH 工具连接:

ssh root@你的公网IP

✅ 二、安装基础环境

1. 更新系统

# Ubuntu
sudo apt update && sudo apt upgrade -y

# CentOS
sudo yum update -y

2. 安装 JDK(以 OpenJDK 为例)

# Ubuntu
sudo apt install openjdk-17-jdk -y

# CentOS
sudo yum install java-17-openjdk-devel -y

验证安装:

java -version
javac -version

建议设置 JAVA_HOME 环境变量(可选但推荐):


echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bash防火墙配置

确保安全组已放行所需端口(如 8080、80、443 等)。

在腾讯云控制台:

  • 找到你的 CVM 实例
  • 进入“安全组”配置
  • 添加规则:允许 TCP 端口(如 8080)

✅ 四、上传 Java 项目(JAR 包)

方法 1:本地打包后上传

在本地构建 JAR:

mvn clean package  # Spring Boot 项目

使用 scp 上传:

scp target/your-app.jar root@你的IP:/root/

方法 2:服务器拉取代码 + 构建(推荐用于自动化)

git clone https://gitee.com/xxx/your-project.git
cd your-project
mvn clean package -DskipTests
cp target/*.jar ~/app.jar

✅ 五、部署 Java 应用(持久化运行)

不能直接 java -jar app.jar,因为关闭终端后进程会终止。需要使用守护进程方式。

方案 1:使用 systemd(推荐,最稳定)

创建服务文件:

sudo nano /etc/systemd/system/myapp.service

写入内容(根据实际情况修改):

[Unit]
Description=My Java Application
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/bin/java -jar /root/app.jar
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

启用并启动服务:

sudo systemctl daemon-reload
sudo systemctl enable myapp
sudo systemctl start myapp

查看状态:

sudo systemctl status myapp

日志查看:

journalctl -u myapp -f

✅ 此方法实现开机自启、崩溃自动重启,真正“持久化”。


方案 2:使用 nohup + &(简单临时用)

nohup java -jar app.jar > app.log 2>&1 &

查看进程:

ps aux | grep java

缺点:不支持自动重启,建议仅用于测试。


方案 3:使用 screentmux

screen -S myapp
java -jar app.jar
# 按 Ctrl+A, 再按 D 脱离会话

恢复会话:screen -r myapp


✅ 六、配置反向X_X(可选,Nginx)

如果前端通过域名访问,建议用 Nginx 反向X_X。

安装 Nginx:

sudo apt install nginx -y    # Ubuntu
sudo yum install nginx -y    # CentOS

配置 /etc/nginx/sites-available/myapp

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;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

启用站点:

sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

✅ 七、域名与 HTTPS(可选)

  1. 在腾讯云购买域名并解析到服务器 IP。
  2. 使用 腾讯云 SSL 证书Let’s Encrypt 配置 HTTPS。

使用 Certbot(Let’s Encrypt):

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your-domain.com

✅ 八、监控与维护

  • 查看日志:journalctl -u myapp -f
  • 重启服务:sudo systemctl restart myapp
  • 查看资源:top, htop, df -h, free -m
  • 设置定时备份脚本(如数据库、JAR 包等)

✅ 总结:持久化核心要点

要点 推荐方案
后台运行 systemd 服务
开机自启 systemctl enable myapp
自动重启 Restart=always
日志管理 journalctl
X_X访问 安全组 + Nginx

如果你使用的是 Spring Boot 项目,上述流程完全适用。


如有具体框架(如 Spring Boot、Tomcat WAR 包等),可以进一步定制说明。欢迎补充你的项目类型,我可以给出更精确的部署脚本。

未经允许不得转载:云服务器 » 腾讯云服务器linux环境下java项目持久化部署?