在腾讯云服务器的 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:使用 screen 或 tmux
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(可选)
- 在腾讯云购买域名并解析到服务器 IP。
- 使用 腾讯云 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 包等),可以进一步定制说明。欢迎补充你的项目类型,我可以给出更精确的部署脚本。
云服务器