在腾讯云服务器的 Linux 环境下部署 Java 项目并实现持久化运行,是常见的生产环境配置。以下是完整的部署流程和推荐的最佳实践。
✅ 一、准备工作
1. 购买并登录腾讯云服务器
- 登录 腾讯云控制台
- 购买 CVM(云服务器),选择:
- 操作系统:Ubuntu 20.04 / CentOS 7/8(推荐 Ubuntu)
- 配置:根据项目需求选择(如 2核4G 起步)
- 获取公网 IP 和登录凭证(密码或密钥)
使用 SSH 登录服务器:
ssh root@你的公网IP
# 或使用密钥
ssh -i ~/.ssh/your-key.pem root@你的公网IP
✅ 二、安装必要环境
1. 更新系统包
# Ubuntu
sudo apt update && sudo apt upgrade -y
# CentOS
sudo yum update -y
2. 安装 JDK(以 OpenJDK 11 为例)
# Ubuntu
sudo apt install openjdk-11-jdk -y
# CentOS
sudo yum install java-11-openjdk-devel -y
验证安装:
java -version
javac -version
注意:确保
JAVA_HOME环境变量设置正确。
设置 JAVA_HOME(可选):
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
✅ 三、上传 Java 项目 Jar 包
方法1:本地打包后上传(推荐)
在本地使用 Maven 打包:
mvn clean package -DskipTests
得到 target/your-project.jar
上传到服务器:
scp target/your-project.jar root@你的IP:/root/app/
方法2:服务器上拉取代码并构建
# 安装 Git
sudo apt install git -y
# 克隆项目
git clone https://gitee.com/xxx/your-project.git
cd your-project
# 安装 Maven(如果需要)
sudo apt install maven -y
# 构建
mvn clean package -DskipTests
✅ 四、持久化运行 Java 项目(关键步骤)
为了让 Java 项目后台持续运行,避免 SSH 断开后进程终止,推荐以下方式:
方式1:使用 nohup + &(简单有效)
nohup java -jar your-project.jar > app.log 2>&1 &
说明:
nohup:忽略挂断信号,即使终端关闭也继续运行>:重定向输出到日志文件&:后台运行
查看进程:
ps aux | grep java
停止服务:
kill -9 $(pgrep -f your-project.jar)
⚠️ 缺点:无法自动重启,管理不便
方式2:使用 systemd 服务(推荐,生产级)
创建系统服务,实现开机自启、自动重启、日志管理。
1. 创建服务文件
sudo vim /etc/systemd/system/myapp.service
写入内容(根据实际情况修改路径):
[Unit]
Description=My Java Application
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/root/app
ExecStart=/usr/bin/java -jar your-project.jar
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
2. 启用并启动服务
# 重新加载 systemd 配置
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
# 启动服务
sudo systemctl start myapp
# 设置开机自启
sudo systemctl enable myapp
# 查看状态
sudo systemctl status myapp
3. 查看日志
sudo journalctl -u myapp -f
方式3:使用 screen 或 tmux(适合调试)
# 安装 screen
sudo apt install screen -y
# 创建会话
screen -S java-app
# 在会话中运行
java -jar your-project.jar
# 按 Ctrl+A, 再按 D 脱离会话
# 重新连接:screen -r java-app
✅ 五、配置防火墙与安全组
1. 腾讯云控制台配置安全组
- 进入【CVM 控制台】→ 【安全组】
- 添加规则:允许 TCP 协议,端口如
8080(你的应用端口)
2. 服务器本地防火墙(可选)
# Ubuntu 使用 ufw
sudo ufw allow 8080
# CentOS 使用 firewalld
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
✅ 六、域名与反向X_X(可选)
使用 Nginx 反向X_X(推荐)
sudo apt install nginx -y
sudo vim /etc/nginx/sites-available/myapp
配置示例:
server {
listen 80;
server_name yourdomain.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
✅ 七、其他建议
| 项目 | 建议 |
|---|---|
| 日志管理 | 使用 logback 或 log4j2,定期轮转 |
| JVM 参数 | 添加内存限制:-Xms512m -Xmx1024m |
| 监控 | 可集成 Prometheus + Grafana |
| 备份 | 定期备份 jar 和配置文件 |
| HTTPS | 使用 Let's Encrypt 配置 SSL |
✅ 总结:推荐完整流程
- 腾讯云购买 CVM(Ubuntu/CentOS)
- SSH 登录,安装 JDK + Maven
- 上传或构建
.jar文件 - 使用
systemd创建服务实现持久化运行 - 配置安全组开放端口
- (可选)配置 Nginx + 域名 + HTTPS
如果你提供具体的项目类型(Spring Boot、普通 Java Web 等),我可以给出更精确的配置脚本。
需要我生成一个完整的 systemd 服务模板或一键部署脚本吗?
CLOUD云计算