AWS Elastic Beanstalk 错误 - 乘客
AWS Elastic Beanstalk Error - Passenger
我尝试了各种直观的解决方案,然后尝试了显然对其他人有帮助的解决方案。我已经启动并终止了我的 Rails 4 应用程序大约 10 次。所以...我想我会转到这里看看是否有人知道答案。
这是日志文件:
[ 2015-03-06 06:12:27.0070 2619/7fa0f6d60740 agents/Watchdog/Main.cpp:538 ]:
Options: { 'analytics_log_user' => 'webapp', 'cleanup_pidfiles' =>
'L3RtcC9wYXNzZW5nZX*********************yL3RlbXBfZGlyX3RvdWNoZXIucGlk',
'default_group' => 'webapp', 'default_python' => 'python', 'default_ruby' =>
'/opt/rubies/ruby-2.1.5/bin/ruby', 'default_user' => 'webapp', 'log_level' =>
'0', 'max_pool_size' => '6', 'passenger_root' => '/tmp/passenger-
standalone.1fcb7jr/locations.ini', 'passenger_version' => '4.0.53',
'pool_idle_time' => '300', 'prestart_urls' => 'aHR0cDovLzAuMC4wLjA6ODAA',
'temp_dir' => '/tmp', 'union_station_gateway_address' =>
'gateway.unionstationapp.com', 'union_station_gateway_port' => '443',
'user_switching' => 'false', 'web_server_passenger_version' => '4.0.53',
'web_server_pid' => '2618', 'web_server_type' => 'nginx',
'web_server_worker_gid' => '496', 'web_server_worker_uid' => '497' }
[ 2015-03-06 06:12:27.3877 2622/7fac802f6740 agents/HelperAgent/Main.cpp:650]:
PassengerHelperAgent online, listening at
unix:/tmp/passenger.1.0.2618/generation-0/request
[ 2015-03-06 06:12:28.2222 2630/7fe1e0b67740 agents/LoggingAgent/Main.cpp:321
]: PassengerLoggingAgent online, listening at
unix:/tmp/passenger.1.0.2618/generation-0/logging
[ 2015-03-06 06:12:28.2223 2619/7fa0f6d60740 agents/Watchdog/Main.cpp:728 ]:
All Phusion Passenger agents started!
2015/03/06 06:12:29 [error] 2638#0: *3 "/var/app/current/public/index.html" is
not found (2: No such file or directory), client: 127.0.0.1, server: _,
request: "HEAD / HTTP/1.1", host: "0.0.0.0"
2015/03/06 06:13:35 [error] 2638#0: *7 "/var/app/current/public/index.html" is
not found (2: No such file or directory), client: 172.3*.**.***, server: _,
request: "GET / HTTP/1.1", host: "****************-env.elasticbeanstalk.com"
我的 gem 文件中有 gem 'passenger'...我已经尝试过开发(因为我看到了生产和乘客的一些错误)和生产,我发誓我从来没有遇到过这种上传到 Elastic Beanstalk 的麻烦。事实上,这是一个非常精简的应用程序,只有一个静态页面,既为用户设计,也为活跃的管理员设计。在我的本地计算机上的任何一个环境中都没有错误或问题。
我什至从来没有意识到我需要 index.html 文件...我一直认为它只在 php 和其他语言中并且 Rails 负责你有根。就像我说的,我以前从未见过这个问题。因此,为了测试我在 public 文件夹中放入了一个 index.html 文件,我可以在我的本地计算机上看到我的根路由之前,但在 AWS 中仍然没有骰子。我更希望能够将它和其他配置之一一起放入,比如 Puma。我看到 Puma 和 Nginx 配置可用,但不在 GUI 中,这正是我计划 "drop" 暂时使用它并完成的。我正在使用 t2.small 实例。
如有任何帮助或指导,我们将不胜感激。谢谢
更新:我现在已经尝试使用 Puma 等推动 Git。到处都是麻烦。这没有道理。我什至将其移至 "Hello World" 应用程序,但仍然一无所获。我即将完成 AWS。这是荒唐的。几乎比每年都有大量问题的 iOS 版本更糟糕。
好的。今天之后,我已经妥善处理并托管了这件事。以防万一这对某人有所帮助……这里是要点:
1) 如果您使用的是显而易见的 CLI,则有一个 Puma 选项。 GUI 中还有一个选项,但它读起来像一个句子,而不是一个合乎逻辑的 select 框。它确实存在于要安装的语言 selection 下面的首页上。如果您遇到乘客错误并希望使用 Puma,则需要更改此内容。
2) 我安装了一个包含 ActiveAdmin 角色的用户模型。 ActiveAdmin 正在从 GitHub 中提取 gem,而我使用的机器已经安装了 GitHub。这确实是问题所在...切换到生产环境和 ElasticBeanstalk 我忘记了 git 尚未安装。多次回溯错误后,常见的错误是
# :github => 'activeadmin/activeadmin'+ '[' -d /vendor/cache ']'
+ bundle install
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
You need to install git to be able to use gems from git repositories.
[CMD-Startup/StartupStage0/AppDeployPreHook/10_bundle_install.sh] : Activity failed.
这位于 eb-activity.log.
所以,如果这与发生在你身上的事情类似,你可以这样做:
1) 使用正确的服务器启动您的实例。
2) 如果出现错误,请查看上面提到的 activity 日志。 (与此相关的所有日志)
3) 如果错误同样失败,则无需删除实例。离开它 运行ning。
4) SSH 到您刚刚创建的服务器实例。 运行
sudo yum update
这很可能是推荐的。然后 运行
sudo yum install git
5) 上传完全相同的文件并将版本命名为 0.1,如果这是您唯一的错误,则当它通过时它应该是绿色的。单击 link 瞧。
对于git二进制问题:如果有更多实例旋转,它将再次失败。您可以通过在 $ROOT/.ebextensions 下添加配置来避免这种情况,该配置将用于任何新实例。
# Install git in order to be able to bundle gems from git
packages:
yum:
git: []
我尝试了各种直观的解决方案,然后尝试了显然对其他人有帮助的解决方案。我已经启动并终止了我的 Rails 4 应用程序大约 10 次。所以...我想我会转到这里看看是否有人知道答案。
这是日志文件:
[ 2015-03-06 06:12:27.0070 2619/7fa0f6d60740 agents/Watchdog/Main.cpp:538 ]:
Options: { 'analytics_log_user' => 'webapp', 'cleanup_pidfiles' =>
'L3RtcC9wYXNzZW5nZX*********************yL3RlbXBfZGlyX3RvdWNoZXIucGlk',
'default_group' => 'webapp', 'default_python' => 'python', 'default_ruby' =>
'/opt/rubies/ruby-2.1.5/bin/ruby', 'default_user' => 'webapp', 'log_level' =>
'0', 'max_pool_size' => '6', 'passenger_root' => '/tmp/passenger-
standalone.1fcb7jr/locations.ini', 'passenger_version' => '4.0.53',
'pool_idle_time' => '300', 'prestart_urls' => 'aHR0cDovLzAuMC4wLjA6ODAA',
'temp_dir' => '/tmp', 'union_station_gateway_address' =>
'gateway.unionstationapp.com', 'union_station_gateway_port' => '443',
'user_switching' => 'false', 'web_server_passenger_version' => '4.0.53',
'web_server_pid' => '2618', 'web_server_type' => 'nginx',
'web_server_worker_gid' => '496', 'web_server_worker_uid' => '497' }
[ 2015-03-06 06:12:27.3877 2622/7fac802f6740 agents/HelperAgent/Main.cpp:650]:
PassengerHelperAgent online, listening at
unix:/tmp/passenger.1.0.2618/generation-0/request
[ 2015-03-06 06:12:28.2222 2630/7fe1e0b67740 agents/LoggingAgent/Main.cpp:321
]: PassengerLoggingAgent online, listening at
unix:/tmp/passenger.1.0.2618/generation-0/logging
[ 2015-03-06 06:12:28.2223 2619/7fa0f6d60740 agents/Watchdog/Main.cpp:728 ]:
All Phusion Passenger agents started!
2015/03/06 06:12:29 [error] 2638#0: *3 "/var/app/current/public/index.html" is
not found (2: No such file or directory), client: 127.0.0.1, server: _,
request: "HEAD / HTTP/1.1", host: "0.0.0.0"
2015/03/06 06:13:35 [error] 2638#0: *7 "/var/app/current/public/index.html" is
not found (2: No such file or directory), client: 172.3*.**.***, server: _,
request: "GET / HTTP/1.1", host: "****************-env.elasticbeanstalk.com"
我的 gem 文件中有 gem 'passenger'...我已经尝试过开发(因为我看到了生产和乘客的一些错误)和生产,我发誓我从来没有遇到过这种上传到 Elastic Beanstalk 的麻烦。事实上,这是一个非常精简的应用程序,只有一个静态页面,既为用户设计,也为活跃的管理员设计。在我的本地计算机上的任何一个环境中都没有错误或问题。
我什至从来没有意识到我需要 index.html 文件...我一直认为它只在 php 和其他语言中并且 Rails 负责你有根。就像我说的,我以前从未见过这个问题。因此,为了测试我在 public 文件夹中放入了一个 index.html 文件,我可以在我的本地计算机上看到我的根路由之前,但在 AWS 中仍然没有骰子。我更希望能够将它和其他配置之一一起放入,比如 Puma。我看到 Puma 和 Nginx 配置可用,但不在 GUI 中,这正是我计划 "drop" 暂时使用它并完成的。我正在使用 t2.small 实例。
如有任何帮助或指导,我们将不胜感激。谢谢
更新:我现在已经尝试使用 Puma 等推动 Git。到处都是麻烦。这没有道理。我什至将其移至 "Hello World" 应用程序,但仍然一无所获。我即将完成 AWS。这是荒唐的。几乎比每年都有大量问题的 iOS 版本更糟糕。
好的。今天之后,我已经妥善处理并托管了这件事。以防万一这对某人有所帮助……这里是要点:
1) 如果您使用的是显而易见的 CLI,则有一个 Puma 选项。 GUI 中还有一个选项,但它读起来像一个句子,而不是一个合乎逻辑的 select 框。它确实存在于要安装的语言 selection 下面的首页上。如果您遇到乘客错误并希望使用 Puma,则需要更改此内容。
2) 我安装了一个包含 ActiveAdmin 角色的用户模型。 ActiveAdmin 正在从 GitHub 中提取 gem,而我使用的机器已经安装了 GitHub。这确实是问题所在...切换到生产环境和 ElasticBeanstalk 我忘记了 git 尚未安装。多次回溯错误后,常见的错误是
# :github => 'activeadmin/activeadmin'+ '[' -d /vendor/cache ']'
+ bundle install
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
You need to install git to be able to use gems from git repositories.
[CMD-Startup/StartupStage0/AppDeployPreHook/10_bundle_install.sh] : Activity failed.
这位于 eb-activity.log.
所以,如果这与发生在你身上的事情类似,你可以这样做:
1) 使用正确的服务器启动您的实例。
2) 如果出现错误,请查看上面提到的 activity 日志。 (与此相关的所有日志)
3) 如果错误同样失败,则无需删除实例。离开它 运行ning。
4) SSH 到您刚刚创建的服务器实例。 运行
sudo yum update
这很可能是推荐的。然后 运行
sudo yum install git
5) 上传完全相同的文件并将版本命名为 0.1,如果这是您唯一的错误,则当它通过时它应该是绿色的。单击 link 瞧。
对于git二进制问题:如果有更多实例旋转,它将再次失败。您可以通过在 $ROOT/.ebextensions 下添加配置来避免这种情况,该配置将用于任何新实例。
# Install git in order to be able to bundle gems from git
packages:
yum:
git: []