新安装的Nexus无法通过URL访问且8081端口未监听如何解决
故障定位
8081端口无监听说明问题出在Nexus服务本身,和安全组、网络连通性无关——服务没成功绑定端口,外部访问必然报连接被拒绝,按下面步骤排查即可:
排查修复步骤
- 先确认Nexus有没有真的启动成功
执行进程查询命令:ps -ef | grep nexus
如果结果里没有对应Nexus的Java进程,说明启动直接失败,不用反复执行启动脚本,直接查启动日志找报错,默认日志路径是Nexus安装目录下的sonatype-work/nexus3/log/nexus.log,启动失败的高频原因:- 内存不足:1核2G这类小规格Amazon Linux实例带不动Nexus默认的内存配置,会触发OOM直接退出。修改Nexus安装目录下
bin/nexus.vmoptions文件,把-Xms、-Xmx参数调小,2G内存实例可以设为-Xms512m、-Xmx1024m,保存后重启。 - 启动用户错误:Nexus禁止用root用户启动,直接拿root跑启动脚本会触发安全校验直接退出。先新建专用nexus用户,把Nexus安装目录、sonatype-work数据目录的权限递归赋给这个用户,切到nexus用户身份再执行启动命令。
- 端口被占用:如果日志里有
BindException: Address already in use报错,说明8081已经被其他服务占用,要么停掉占用端口的进程,要么给Nexus换个没被用的监听端口。
- 内存不足:1核2G这类小规格Amazon Linux实例带不动Nexus默认的内存配置,会触发OOM直接退出。修改Nexus安装目录下
- 核对Nexus监听配置
打开Nexus安装目录下etc/nexus-default.properties文件,检查两个核心配置项:application-port:确认值为8081,如果之前被改成其他端口,要么用对应端口访问,要么改回8081后重启。application-host:确认值为0.0.0.0,如果被设为127.0.0.1,Nexus只会监听本地回环地址,外部IP根本访问不到,也不会对外暴露端口监听,改完参数保存重启即可。
- 留足启动等待时间
Nexus初始化很慢,执行完启动脚本后通常要1-3分钟才能完全加载完成,不要刚敲完启动命令就立刻查端口、访问页面。等够时间后再执行netstat -tulpn |grep LISTEN检查,看到8081端口绑定在0.0.0.0地址、状态为LISTEN时,再通过服务器IP:8081访问就能正常打开页面。
内容的提问来源于stack exchange,提问作者henry ndum
相关产品推荐
相关产品推荐

