linux - 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)
任何帮助都感激不尽。
解决方案
您是否更改了 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 系统。
推荐阅读
- sql - 无法迁移到 bigquery,因为 bigquery 列名仅允许英文字符
- python - 在 Docker (compose) 中,如何检测所有 Flask 应用程序何时完成启动?
- java - 如何使用 getParameterNames() 值
- pymongo - Pymongo 聚合与项目
- flutter - 如何在颤动表单中自定义验证消息错误的布局
- javascript - 将 Keen Dashboard 嵌入 Web 应用程序
- c# - Microsoft Graph 抛出 Request_ResourceNotFound 而不是 null/0
- if-statement - 具有多个 OR 和 AND 语句的 Power BI、IF 语句
- jmeter - Java 12 JMeter 5 HTTP/2 请求 java.lang.NoClassDefFoundError: org/eclipse/jetty/alpn/client/ALPNClientConnectionFactory
- python - FTP下载进度条