Sonar开始没有错误,但我无法通过网络浏览器访问它

时间:2013-03-13 20:35:25

标签: amazon-ec2 sonarqube

我使用'apt-get install sonar'在Ubuntu主机上安装了Sonar。由于这只是Sonar的演示实例,我可以使用嵌入式H2数据库。

声纳似乎启动良好,我的sonar.log中没有任何错误或警告。然而,当我尝试通过我的网络浏览器点击它时,我得到了“哎呀!谷歌Chrome无法连接到... blahblahblah”。

主机实际上是一个EC2实例 - 不确定这是否有所不同。它拥有亚马逊分配的私有IP,URL(即ec2-xx-xx ... amazonaws.com)和虚荣URL,因此我不必记住那个可怕的底层URL。

现在,Sonar的属性看起来像这样。 (我故意将IP地址X出现在哪里。)

sonar.web.host:                           10.xxx.xx.xxx
sonar.web.port:                           9000
sonar.web.context:                        /
...
sonar.jdbc.url:                            jdbc:h2:tcp://10.xxx.xx.xxx:9092/sonar
sonar.jdbc.driverClassName:                org.h2.Driver
sonar.embeddedDatabase.port:               9092

我无法通过将浏览器指向$ {monstrous_URL}:9000或$ {虚名网址}:9000来访问它。我也试过将sonar.web.host设置为0.0.0.0,并设置为$ {monstrous_URL} - 两者都无济于事,遗憾的是。

作为参考,这就是我的sonar.log的样子:

STATUS | wrapper  | 2013/03/13 20:21:42 | --> Wrapper Started as Daemon
STATUS | wrapper  | 2013/03/13 20:21:43 | Launching a JVM...
INFO   | jvm 1    | 2013/03/13 20:21:43 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO   | jvm 1    | 2013/03/13 20:21:43 |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
INFO   | jvm 1    | 2013/03/13 20:21:43 |
INFO   | jvm 1    | 2013/03/13 20:21:43 | 2013-03-13 20:21:43.422:INFO::Logging to org.sonar.application.FilteredLogger@7dc6a657 via org.sonar.application.FilteredLogger
INFO   | jvm 1    | 2013/03/13 20:21:43 | 2013-03-13 20:21:43.484:INFO::jetty-6.1.25
INFO   | jvm 1    | 2013/03/13 20:21:43 | 2013-03-13 20:21:43.756:INFO::NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet
2013.03.13 20:21:44 INFO  o.s.s.p.ServerImpl  Sonar Server / 3.4.1 / 2f6a7f38e57ec8e9a7bedc81b3260ae735d2a8c8
2013.03.13 20:21:45 INFO  o.s.s.d.EmbeddedDatabase  Starting embedded database on port 9092 with url jdbc:h2:tcp://10.xxx.xx.xxx:9092/sonar
2013.03.13 20:21:45 INFO  o.s.s.d.EmbeddedDatabase  Embedded database started. Data stored in: /opt/sonar/data
2013.03.13 20:21:45 WARN  o.s.c.p.DefaultDatabase  H2 database should be used for evaluation purpose only
2013.03.13 20:21:45 INFO  o.s.c.p.Database  Create JDBC datasource for jdbc:h2:tcp://10.xxx.xx.xxx:9092/sonar
2013.03.13 20:21:47 INFO  o.s.s.p.DefaultServerFileSystem  Sonar home: /opt/sonar
2013.03.13 20:21:47 INFO  o.s.s.p.DefaultServerFileSystem  Deploy dir: /opt/sonar/war/sonar-server/deploy
2013.03.13 20:21:47 INFO  org.sonar.INFO  Install plugins...
2013.03.13 20:21:47 INFO  o.s.s.p.PluginDeployer  Deploy plugin Findbugs / 1.1 / 4785d335df6bd0e662d636a6fb03d79fbdda8c5a
2013.03.13 20:21:47 INFO  o.s.s.p.PluginDeployer  Deploy plugin JaCoCo / 1.1 / 4785d335df6bd0e662d636a6fb03d79fbdda8c5a

有没有人有在EC2实例上运行Sonar的经验,或者对我有任何提示?我很难过!

2 个答案:

答案 0 :(得分:3)

  

我无法通过将浏览器指向$ {monstrous_URL}:9000或$ {虚荣网址}:9000来访问它。

更改连接到EC2实例的安全组以允许到TCP端口9000的传入连接。

答案 1 :(得分:1)

将H2数据库更改为mysql,并将以下enteries更改为 声纳。

jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.driverClassName= com.mysql.jdbc.Driver
sonar.jdbc.validationQuery= select 1

并在sonar.properties中进行以下更改:

sonar.web.host:                           0.0.0.0
sonar.web.context:                        /sonar