Linux环境下SonarQube进程正常但浏览器无法访问求助
SonarQube进程运行正常但浏览器无法访问的排查与解决
问题背景
已在服务器上安装并配置SonarQube(尝试过8.7.1和9版本),通过systemd创建服务并设置开机自启,终端显示进程正常运行无报错,但使用默认端口在浏览器访问时始终提示连接拒绝。已在sonar.properties中配置PostgreSQL凭证,问题依旧。
已执行操作及状态信息
sonarqube@sonar2020:~/sonarqube-8.3.1.34397$ bin/linux-x86-64/sonar.sh start Starting SonarQube... Started SonarQube. sonarqube@sonar2020:~/sonarqube-8.3.1.34397$ bin/linux-x86-64/sonar.sh status SonarQube is running (12957). sonarqube@sonar2020:~/sonarqube-8.3.1.34397$ sudo nano /etc/systemd/system/sonar.service sonarqube@sonar2020:~/sonarqube-8.3.1.34397$ sudo systemctl enable sonar Created symlink /etc/systemd/system/multi-user.target.wants/sonar.service → /etc/systemd/system/sonar.service. sonarqube@sonar2020:~/sonarqube-8.3.1.34397$ sudo systemctl start sonar.service sonarqube@sonar2020:~/sonarqube-8.3.1.34397$ sudo systemctl status sonar.service ● sonar.service - SonarQube service Loaded: loaded (/etc/systemd/system/sonar.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2022-11-22 09:12:15 UTC; 1s ago Process: 13574 ExecStop=/home/sonarqube/sonarqube-8.3.1.34397/bin/linux-x86-64/sonar.sh stop (code=exited, status=0/SUCCESS) Process: 13634 ExecStart=/home/sonarqube/sonarqube-8.3.1.34397/bin/linux-x86-64/sonar.sh start (code=exited, status=0/SUCCESS) Main PID: 13697 (wrapper) Tasks: 19 (limit: 4915) CGroup: /system.slice/sonar.service ├─13697 /home/sonarqube/sonarqube-8.3.1.34397/bin/linux-x86-64/./wrapper /home/sonarqube/sonarqube-8.3.1.34397/bin/linux-x86-64/../../conf/wrapper.conf wrapper.syslog.ident=SonarQube wrapper.pidfile=/home/sonarqube/sonarqube-8.3.1.34397/bin/linux-x86- └─13702 java -Dsonar.wrapped=true -Djava.awt.headless=true -Xms8m -Xmx32m -Djava.library.path=./lib -classpath ../../lib/jsw/wrapper-3.2.3.jar:../../lib/common/picocontainer-2.15.jar:../../lib/common/lucene-join-7.7.2.jar:../../lib/common/sonar-db-mig
系统日志信息
Nov 22 09:12:14 sonar2020 systemd[1]: sonar.service: Scheduled restart job, restart counter is at 3. Nov 22 09:12:14 sonar2020 systemd[1]: Stopped SonarQube service. Nov 22 09:12:14 sonar2020 systemd[1]: Starting SonarQube service... Nov 22 09:12:14 sonar2020 sonar.sh[13634]: Starting SonarQube... Nov 22 09:12:15 sonar2020 sonar.sh[13634]: Started SonarQube. Nov 22 09:12:15 sonar2020 systemd[1]: Started SonarQube service.
排查与解决步骤
1. 验证SonarQube实际监听端口
进程运行不代表服务已完成初始化并监听端口,执行以下命令检查端口监听状态:
# 检查默认9000端口 sudo netstat -tulpn | grep 9000 # 或用ss命令 sudo ss -tulpn | grep 9000
若无输出,说明SonarQube未成功监听端口,需查看SonarQube自身日志。
2. 查看SonarQube详细日志
SonarQube日志目录为$SONARQUBE_HOME/logs,重点查看以下日志:
web.log:Web服务启动日志,排查端口绑定、初始化失败问题es.log:内置Elasticsearch日志(SonarQube依赖ES,若ES启动失败会导致Web服务无法启动)
执行命令查看实时日志:
tail -f /home/sonarqube/sonarqube-8.3.1.34397/logs/web.log tail -f /home/sonarqube/sonarqube-8.3.1.34397/logs/es.log
常见问题处理:
- Elasticsearch虚拟内存不足:调整系统参数
sudo sysctl -w vm.max_map_count=262144 # 永久生效需写入配置文件 echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf - 权限不足:确保
sonarqube用户拥有目录读写权限sudo chown -R sonarqube:sonarqube /home/sonarqube/sonarqube-8.3.1.34397
3. 检查防火墙与网络策略
即使本地端口开放,需确认:
- 服务器防火墙允许9000端口对外访问:
# ufw环境 sudo ufw allow 9000/tcp sudo ufw reload # firewalld环境 sudo firewall-cmd --add-port=9000/tcp --permanent sudo firewall-cmd --reload - 云服务器安全组:若为云服务器,需在控制台添加入站规则允许9000端口访问。
4. 验证SonarQube绑定地址
检查sonar.properties中sonar.web.host配置,默认127.0.0.1仅允许本地访问,需改为0.0.0.0开放外部访问:
sudo nano /home/sonarqube/sonarqube-8.3.1.34397/conf/sonar.properties
修改配置项:
sonar.web.host=0.0.0.0
修改后重启服务:
sudo systemctl restart sonar.service
5. 检查systemd服务配置
确保/etc/systemd/system/sonar.service配置完整,示例配置如下:
[Unit] Description=SonarQube service After=syslog.target network.target [Service] Type=forking ExecStart=/home/sonarqube/sonarqube-8.3.1.34397/bin/linux-x86-64/sonar.sh start ExecStop=/home/sonarqube/sonarqube-8.3.1.34397/bin/linux-x86-64/sonar.sh stop User=sonarqube Group=sonarqube Restart=always LimitNOFILE=65536 LimitNPROC=4096 [Install] WantedBy=multi-user.target
若缺失LimitNOFILE等参数,可能导致文件句柄不足,修改后重新加载配置并重启:
sudo systemctl daemon-reload sudo systemctl restart sonar.service
内容的提问来源于stack exchange,提问作者Arpit Saxena
相关产品推荐
相关产品推荐

