加油
努力

腾讯云轻量服务器部署Java项目后无法访问怎么办?

腾讯云轻量应用服务器(Lighthouse)部署 Java 项目后无法访问,通常由防火墙配置、安全组规则、Java 进程状态或网络监听地址等问题导致。请按以下步骤系统排查:


🔍 1. 确认 Java 进程是否正常运行

# 查看 Java 进程
ps -ef | grep java

# 或检查特定端口是否被占用
netstat -tlnp | grep <你的端口号>
# 例如:netstat -tlnp | grep 8080
  • 若无进程 → 启动失败,需查看日志(如 nohup.outcatalina.out 或自定义日志文件)。
  • 若进程存在但端口未监听 → 检查 application.properties/ymlserver.port 是否配置正确。

🔐 2. 检查本地防火墙(云服务器内部)

轻量服务器默认可能开启 ufwfirewalld

# 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. 检查腾讯云「安全组」规则(关键!)

这是最常见原因!即使服务器内开放了端口,云厂商的安全组也会拦截外部请求。

操作路径:

  1. 登录 腾讯云控制台
  2. 进入 轻量应用服务器 → 点击实例 → 更多安全组
  3. 确保入方向规则包含:
    • 协议:TCP
    • 端口范围:你的 Java 服务端口(如 808080
    • 来源 IP0.0.0.0/0(允许所有公网访问)或指定 IP
    • 策略:允许

⚠️ 注意:轻量服务器的安全组是独立于传统 CVM 的,需单独配置!


📡 4. 确认 Java 监听地址是否为 0.0.0.0

默认 Spring Boot 等框架可能绑定 localhost(仅本机可访问),导致网络无法连接。

检查 application.propertiesapplication.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 输出片段
    我可进一步帮你分析。
云服务器