腾讯云轻量应用服务器(Lighthouse)部署 Java 项目后无法访问,通常由防火墙配置、安全组规则、Java 进程状态或网络监听地址等问题导致。请按以下步骤系统排查:
🔍 1. 确认 Java 进程是否正常运行
# 查看 Java 进程
ps -ef | grep java
# 或检查特定端口是否被占用
netstat -tlnp | grep <你的端口号>
# 例如:netstat -tlnp | grep 8080
- 若无进程 → 启动失败,需查看日志(如
nohup.out、catalina.out或自定义日志文件)。 - 若进程存在但端口未监听 → 检查
application.properties/yml中server.port是否配置正确。
🔐 2. 检查本地防火墙(云服务器内部)
轻量服务器默认可能开启 ufw 或 firewalld:
# Ubuntu/Debian
sudo ufw status
# 若为 active,放行端口(如 8080)
sudo ufw allow 8080/tcp
# CentOS/RHEL
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
✅ 提示:开发测试时可临时关闭防火墙验证(不推荐生产环境):
sudo systemctl stop firewalld # CentOS sudo ufw disable # Ubuntu
🌐 3. 检查腾讯云「安全组」规则(关键!)
这是最常见原因!即使服务器内开放了端口,云厂商的安全组也会拦截外部请求。
操作路径:
- 登录 腾讯云控制台
- 进入 轻量应用服务器 → 点击实例 → 更多 → 安全组
- 确保入方向规则包含:
- 协议:TCP
- 端口范围:你的 Java 服务端口(如
8080或80) - 来源 IP:
0.0.0.0/0(允许所有公网访问)或指定 IP - 策略:允许
⚠️ 注意:轻量服务器的安全组是独立于传统 CVM 的,需单独配置!
📡 4. 确认 Java 监听地址是否为 0.0.0.0
默认 Spring Boot 等框架可能绑定 localhost(仅本机可访问),导致网络无法连接。
检查 application.properties 或 application.yml:
# ❌ 错误示例(只监听本地)
server.address=127.0.0.1
server.port=8080
# ✅ 正确示例(监听所有网卡)
server.address=0.0.0.0
server.port=8080
或通过环境变量覆盖:
java -jar app.jar --server.address=0.0.0.0 --server.port=8080
💡 验证方法:在服务器上执行
curl http://localhost:8080应能返回响应;再尝试从本地电脑telnet <公网IP> 8080看是否连通。
🧪 5. 测试连通性
- 本地测试:
curl http://127.0.0.1:<端口> - 远程测试(从你本机终端):
telnet <你的公网IP> <端口> # 或 nc -vz <你的公网IP> <端口>若显示
Connection refused→ 端口未开放/进程未起;
若卡住无反应 → 大概率是安全组拦截。
🛠️ 额外建议
- 使用反向X_X(Nginx)转发流量时,确保 Nginx 配置正确且已启动。
- 检查 SELinux(CentOS):
setenforce 0临时禁用测试。 - 查看 Java 启动日志中的 binding 信息:
tail -f nohup.out | grep "Started" # 典型输出:Started Application in X.X seconds on port 8080 (binding to 0.0.0.0)
完成以上步骤后,绝大多数“无法访问”问题均可定位解决。如果仍异常,请提供:
- 操作系统版本
- Java 启动命令
- 安全组截图(脱敏)
netstat -tlnp输出片段
我可进一步帮你分析。
云小栈