在腾讯云的轻量应用服务器(TencentCloud Lighthouse)上部署 Java 项目是一个常见的操作。以下是详细的步骤指南,帮助你从零开始完成部署。
✅ 前提条件
- 已购买腾讯云轻量应用服务器
- 推荐选择 Ubuntu 或 CentOS 系统(这里以 Ubuntu 20.04 为例)
- Java 项目已打包成 JAR 文件(如 Spring Boot 项目)
- 本地开发环境准备好 SSH 工具(如 Xshell、PuTTY、或终端)
🔧 步骤一:连接到轻量服务器
- 登录 腾讯云控制台
- 找到你的轻量服务器实例,获取公网 IP 地址
- 使用 SSH 连接:
ssh root@你的公网IP
输入密码或使用密钥登录。
📦 步骤二:安装 Java 环境
大多数 Java 项目需要 JDK。
1. 更新系统包
sudo apt update
2. 安装 OpenJDK(推荐 11 或 17)
sudo apt install openjdk-17-jdk -y
如果你用的是 Spring Boot 3.x,建议使用 JDK 17+
3. 验证安装
java -version
javac -version
输出类似:
openjdk version "17.0.8" 2023-07-18
OpenJDK Runtime Environment (build 17.0.8+7-Ubuntu-1ubuntu1~20.04)
OpenJDK 64-Bit Server VM (build 17.0.8+7-Ubuntu-1ubuntu1~20.04, mixed mode)
📁 步骤三:上传 Java 项目 JAR 包
将本地打包好的 your-project.jar
上传到服务器。
方法一:使用 scp
命令(推荐)
scp /path/to/your-project.jar root@你的服务器IP:/root/
方法二:使用 FTP 工具(如 FileZilla)
- 使用 SFTP 协议,端口 22,用户名
root
,密码或密钥登录
▶️ 步骤四:运行 Java 项目
进入服务器并运行 JAR:
cd /root
java -jar your-project.jar
默认情况下,Spring Boot 项目会运行在
8080
端口。
🔌 步骤五:配置后台运行(防止关闭终端后停止)
使用 nohup
或 screen
让程序在后台运行。
方式 1:使用 nohup
nohup java -jar your-project.jar > app.log 2>&1 &
> app.log
:日志输出到文件2>&1
:错误和正常输出都记录&
:后台运行
查看日志:
tail -f app.log
方式 2:使用 screen(更灵活)
sudo apt install screen -y
screen -S myapp
java -jar your-project.jar
# 按 Ctrl+A, 再按 D 退出会话
恢复会话:
screen -r myapp
🔐 步骤六:开放防火墙端口(腾讯云控制台)
默认安全组可能未开放你的应用端口(如 8080)。
- 进入 腾讯云轻量服务器控制台
- 找到你的实例 → 防火墙 → 添加规则
- 添加入站规则:
- 协议类型:TCP
- 端口:
8080
(或你项目使用的端口) - 源 IP:
0.0.0.0/0
(或限制为特定 IP) - 描述:例如 “Java 应用”
⚠️ 注意:生产环境建议不要开放 0.0.0.0/0,可配合 Nginx 反向X_X + 80/443 端口。
🌐 步骤七:通过域名或 IP 访问项目
假设你的项目监听 8080 端口:
访问地址:
http://你的服务器公网IP:8080
如果看到页面或 API 返回数据,说明部署成功!
🔄 可选优化:使用 Nginx 反向X_X(推荐)
避免暴露端口号,提升安全性。
1. 安装 Nginx
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
2. 配置反向X_X
编辑配置文件:
sudo nano /etc/nginx/sites-available/default
修改 location /
部分:
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;
proxy_set_header X-Forwarded-Proto $scheme;
}
3. 重启 Nginx
sudo nginx -t # 测试配置
sudo systemctl restart nginx
现在可以通过 http://你的IP
直接访问,无需加端口。
🛠️ 其他建议
功能 | 建议 |
---|---|
自动启动 | 使用 systemd 创建服务(见下方) |
日志管理 | 使用 logrotate 或 ELK |
域名绑定 | 在腾讯云注册域名,解析到服务器 IP,Nginx 配置 server_name |
✅ 创建 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/your-project.jar
Restart=always
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reexec
sudo systemctl enable myapp
sudo systemctl start myapp
查看状态:
sudo systemctl status myapp
🎉 总结
你已经完成了在腾讯云轻量服务器上部署 Java 项目的全过程:
- 登录服务器
- 安装 JDK
- 上传 JAR 包
- 后台运行 Java 程序
- 开放防火墙端口
- (可选)配置 Nginx 反向X_X
- (可选)设置开机自启
如有具体问题(如报错信息、Spring Boot 配置等),欢迎提供详细信息,我可以进一步帮你排查!