0

我已经用 Java 创建了一个示例 Web 应用程序。它没有错误,并且我能够成功创建 WAR 存档。我还在本地 Tomcat 7 服务器上成功测试了这个。

现在,这个示例 Web 应用程序有 2 个 servlet——“home”和“runsinglecrawljob”。战争档案的名称是“sparkcrawler0.12.war”。

因此,在本地 Tomcat 中,我访问了 Web 应用程序

 http://localhost:8080/SparkCrawler0.12/runsinglecrawljob

另一个 servlet 是

 http://localhost:8080/SparkCrawler0.12/home

现在,当我创建 Elastic Beanstalk 环境时,我指定了运行状况检查 url="/home"

但是我收到错误消息,即运行状况检查 url 没有响应,因此该应用程序没有在 Elastic Beanstalk 中运行-它显示 503 错误-根据 Google Chrome,这是确切的消息-

“HTTP 错误 503(服务不可用):服务器当前无法处理请求。此代码表示这是暂时的情况,服务器将在延迟后再次启动。”

现在,健康检查 URL 的正确值是多少?

另外,如果我的网址是

 http://spark.elasticbeanstalk.com

如 Elastic Beanstalk 中所定义,那么我是否可以在以下位置访问 Web 应用程序

 http://spark.elasticbeanstalk.com/SparkCrawler0.12/runsinglecrawljob

或者我是否可以在以下位置访问网络应用程序

 http://spark.elasticbeanstalk.com/runsinglecrawljob ?
4

1 回答 1

1

我不知道这是否相关,但我有一个非常相似的问题,但使用的是 PHP codeigniter 应用程序。

我上传了应用程序,'index.php' 是应用程序的正常起点。我还有一个与 index.php 平行的简单“phpinfo.php”。

所以,URL 是 myApp.elasticbeanstalk.com ,它点击 index.php 并且没问题。

但是,对于我的健康检查,我将其设置为 /phpinfo.php,因为我希望将 myApp.elasticbeanstalk.com/phpinfo.php 用作健康检查。

如果我这样做,健康检查总是会失败,所以我的应用程序不会运行,我会看到刺眼的厄运红色框。

这一直让我发疯。

(我为什么要这样做?--这是因为我想向应用程序根目录添加一个 .htaccess 文件,该文件需要为除 phpinfo.php 文件之外的所有内容提供密码,并且我在本地对其进行了测试并且它有效。我没有添加 .htaccess 文件——我只是想看看我是否可以将运行状况检查指向“/”之外的其他内容并让它工作。

更新——我解决了我的问题。事实证明,当我启动这些弹性 beanstalk 环境之一时,我必须立即设置 healthcheck url 并且有 /phpinfo.php 然后上传我的应用程序。当我早些时候对此大惊小怪时,我稍后会尝试编辑配置以更改运行状况检查 url,但这永远不会起作用,并且实例将永远不会再次活跃。

于 2012-07-13T23:23:03.303 回答