01 事发
昨天发现sonarqube突然无法启动了,一开始以为是服务没启动,进入bin文件夹运行:
./sonar.sh start
显示已经启动成功,然而在web网页访问:http://10.137.128.182:9000/sonar
居然挂了!!!
02 查看问题
查看sonar的日志记录,发现有报错信息如下:java.nio.file.AccessDeniedException: /opt/sonar/sonarqube-7.2.1/temp/conf/es/elasticsearch.yml,见下面截图:
我安装的sonarqube是7.7版本,集成了es,es启动的时候不能用root账号,但是我就是用普通账户启的呀
sudo 到普通账户,看日志提示说是权限的问题,于是:
chown -R gzcb:gzcb /home/gzcb/software/sonarqube-7.7
给账户gzcb赋予这个sonarqube-7.7文件夹的执行权限,再次启动,日志恢复正常,无报错信息了,但是网页端依旧没办法访问...
怀疑是9000端口被占用了,可是并没有问题呀
难道是防火墙的问题:
查看防火墙状态
systemctl status firewalld
是运行着的
把它关掉
service firewalld stop
在终端运行:
curl http://10.137.128.182:9000/sonar
这次可以获取到了,返回web端访问,sonarqube启动正常了!
03 事后总结
应用服务启动后,若无异常报错信息,但是网页端无法访问,多半是端口和防火墙的问题,这一点要记住