Jenkins localhost:8080连接被拒 关闭Cmd窗口后无法访问如何解决
问题根因
ERR_CONNECTION_REFUSED报错和防火墙、代理配置无关。你当前能在保持Cmd窗口开启时正常访问,说明8080端口连通性本身正常,故障核心原因是Jenkins没有被配置为系统常驻进程:直接在Cmd中执行java -jar jenkins.war启动时,Cmd是Jenkins进程的宿主终端,关闭Cmd窗口后系统会自动终止关联的Java进程,8080端口无进程监听,就会出现连接被拒绝的问题。
解决方案
根据你的使用场景二选一即可:
方案1:注册为Windows系统服务(长期使用推荐)
配置后Jenkins会随系统开机自动启动,不需要手动执行启动命令、保留终端窗口。
- 先在当前运行Jenkins的Cmd窗口按
Ctrl+C终止运行中的进程 - 若你最初是通过Jenkins官方MSI安装包部署的:
- 以管理员身份打开新的Cmd窗口,执行
jenkins.exe install完成服务注册 - 按下
Win+R输入services.msc回车打开系统服务面板,找到名为Jenkins的服务 - 将服务启动类型修改为「自动」,点击「启动」按钮等待服务运行即可
- 以管理员身份打开新的Cmd窗口,执行
- 若你是单独下载war包部署的:
- 将jenkins.war移动到无中文、无特殊字符的固定路径,例如
C:\Jenkins\ - 以管理员身份打开Cmd,执行服务创建命令,注意命令中
binPath=、start=后方必须保留一个空格,路径替换为你本地的实际JDK、war包路径:sc create Jenkins binPath= "C:\Program Files\Java\jdk1.8.0_351\bin\java.exe -jar C:\Jenkins\jenkins.war" start= auto - 同样在系统服务面板找到Jenkins服务,点击启动即可。
- 将jenkins.war移动到无中文、无特殊字符的固定路径,例如
方案2:后台静默启动(临时使用可选)
如果不想配置系统服务,只是不需要保留Cmd窗口,可以用javaw替代java启动war包,进程会直接在后台运行,不会绑定终端窗口:
- 打开Cmd执行以下命令,路径替换为本地war包实际存放路径:
javaw -jar C:\Jenkins\jenkins.war - 执行后等待1分钟左右即可正常访问
localhost:8080,关闭Cmd窗口不会影响进程运行。需要停止Jenkins时,直接打开任务管理器找到对应javaw.exe进程结束即可。
验证
关闭所有运行过Jenkins启动命令的Cmd窗口,直接在浏览器访问localhost:8080,能正常加载登录页即为配置生效。
内容的提问来源于stack exchange,提问作者faro
相关产品推荐
相关产品推荐

