首页 > 解决方案 > SonarQube 无法启动网络

问题描述

当我尝试在 Linux 上启动 SonarQube 7.7 时出现以下错误。

WARN  web[][o.s.p.ProcessEntryPoint] Fail to start web
java.lang.RuntimeException: org.apache.catalina.LifecycleException: Failed     to initialize component [StandardServer[-1]]
        at com.google.common.base.Throwables.propagate(Throwables.java:160)
    at org.sonar.server.app.EmbeddedTomcat.start(EmbeddedTomcat.java:65)
    at org.sonar.server.app.WebServer.start(WebServer.java:51)
    at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:113)
    at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:100)
    at org.sonar.server.app.WebServer.main(WebServer.java:91)
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [StandardServer[-1]]
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:112)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
    at org.apache.catalina.startup.Tomcat.start(Tomcat.java:427)
    at org.sonar.server.app.EmbeddedTomcat.start(EmbeddedTomcat.java:61)
    ... 4 common frames omitted
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [StandardService[Tomcat]]
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:112)
    at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:875)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
    ... 7 common frames omitted
Caused by: org.apache.catalina.LifecycleException: Failed to initialize connector [Connector[HTTP/1.1-9000]]
    at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
    at org.apache.catalina.util..LifecycleBase.init(LifecycleBase.java:107)

任何帮助都感激不尽。

标签: linuxsonarqube

解决方案


您是否更改了 sonar.properties 文件中的属性“sonar.web.port”?

当我尝试将此属性设置为端口 80 时,我遇到了同样的问题。在 unix 系统上不以 root 用户身份运行时,不允许绑定到低端口。

# TCP port for incoming HTTP connections. Default value is 9000.
sonar.web.port=8080

使用默认端口 9000 它应该可以工作。作为替代方案,可以将低端口转发到运行声纳网络服务器的端口。

sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

此外,此 iptables 配置应在系统重新启动后保存并恢复。为此,存在不同的方法,具体取决于 unix 系统。


推荐阅读