You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS EC2 Ubuntu 18环境下Jenkins服务器无法通过浏览器访问求助

AWS EC2 Ubuntu 18部署Jenkins后无法通过公网IP:8080访问

我在AWS EC2的Ubuntu 18系统上通过以下bash脚本部署了Jenkins服务器:

#!/bin/bash
sudo apt update
sudo apt install openjdk-11-jdk -y
sudo apt install maven -y
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc > /dev/null
  
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null

sudo apt-get update
sudo apt-get install jenkins -y

当前状态:

  • 已将实例安全组设置为允许所有来源的所有流量(入站规则截图显示全量开放)
  • 可正常SSH登录实例
  • 通过systemctl status jenkins确认Jenkins服务运行正常
  • 使用公网IP加8080端口无法加载Jenkins页面,删除并重新添加安全组规则后问题仍存在,当前使用默认VPC

排查与解决步骤

1. 检查Jenkins监听地址与端口

Jenkins可能仅绑定本地回环地址,导致外部无法访问:

  • 执行命令查看监听状态:
    sudo netstat -tulpn | grep jenkins
    # 或使用ss命令
    sudo ss -tulpn | grep jenkins
    
  • 如果输出显示127.0.0.1:8080,需修改Jenkins配置:
    1. 编辑配置文件:sudo nano /etc/default/jenkins
    2. 找到JENKINS_ARGS行,修改为:
      JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=8080 --httpListenAddress=0.0.0.0"
      
    3. 重启Jenkins:sudo systemctl restart jenkins

2. 检查Ubuntu本地防火墙

Ubuntu 18默认可能启用ufw防火墙,拦截外部端口访问:

  • 查看防火墙状态:sudo ufw status
  • 如果显示active且未开放8080端口,执行:sudo ufw allow 8080/tcp
  • 可临时关闭防火墙测试:sudo ufw disable,验证正常后再重新配置规则

3. 验证端口连通性

从本地机器测试EC2实例8080端口的连通性:

  • 使用telnet:telnet <你的公网IP> 8080
  • 或使用nc:nc -zv <你的公网IP> 8080
  • 若连接失败,排查本地网络限制(如本地防火墙、代理)

4. 查看Jenkins日志排查异常

检查Jenkins启动日志,确认是否有端口绑定失败等错误:

sudo journalctl -u jenkins -f

重点关注是否存在Failed to listen on port 8080类报错,若有需排查端口占用情况。

5. 确认EC2公网IP状态

  • 确认实例使用的是弹性公网IP,临时公网IP在实例重启后会变更
  • 检查实例网络接口是否关联了正确的安全组

内容的提问来源于stack exchange,提问作者Mohammad Ayan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 22:30:11