簡體   English   中英

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豆莖。 實際上,這是一個精簡的應用程序,只有一個靜態頁面,並且既為用戶設計,也為主動管理員設計。 在我的本地計算機上的任何環境中都沒有錯誤或問題。

我什至從未意識到我需要index.html文件...我一直以為這僅適用於php和其他語言,而Rails則用root來為您處理。 就像我說的,我從來沒有見過這個問題。 因此,要測試我是否將index.html文件放在公用文件夾中,並且可以在本地計算機上的根路由之前看到它,但是在AWS中仍然沒有骰子。 我希望能夠加入該配置以及其他配置之一,例如Puma。 而且我看到可用的Puma和Nginx配置,但在GUI中卻沒有,我打算將它暫時“放入”並完成它。 我正在使用t2.small實例。

任何幫助或指示將不勝感激。 謝謝。

更新:我現在已經嘗試使用Puma等通過Git進行推送。 到處都是麻煩。 這個不成立。 我什至將其移至“ Hello World”應用程序,仍然一無所有。 我即將完成AWS。 這是荒唐的。 幾乎比每年都有大量問題的iOS版本差。

好。 今天過后,我已經照顧好並妥善托管。 萬一這可以幫助某人...以下是關鍵要點:

1)如果使用的CLI顯而易見,則有一個Puma選項。 GUI中還提供了一個選項,但是它讀起來就像一個句子,而不是一個邏輯選擇框。 它確實存在於要選擇的語言選擇下的首頁中。 如果您遇到“乘客錯誤”並希望使用Puma,則需要對此進行更改。

2)我已經安裝了一個包含ActiveAdmin角色的用戶模型。 ActiveAdmin是從GitHub提取的寶石,我正在使用已安裝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)如果遇到錯誤,請查看上述活動日志。 (有關此事的所有日志)

3)如果錯誤同樣失敗,則無需刪除實例。 保持運行。

4)SSH進入剛剛創建的服務器實例。

sudo yum update 

這比可能的建議還多。 然后跑

sudo yum install git

5)上載相同的文件,並將其命名為0.1,如果這是您唯一的錯誤,則應為綠色。 單擊鏈接,然后瞧。

對於git二進制問題:如果更多實例在旋轉,它將再次失敗。 您可以通過在$ ROOT / .ebextensions下添加一個可用於任何新實例的配置來避免這種情況。

# Install git in order to be able to bundle gems from git
packages:
  yum:
    git: []

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM