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配置:- 编辑配置文件:
sudo nano /etc/default/jenkins - 找到
JENKINS_ARGS行,修改为:JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=8080 --httpListenAddress=0.0.0.0" - 重启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
相关产品推荐
相关产品推荐

