0

EC2にRubberを使用してrailsアプリをデプロイしました。さらに、データベース用にRDSインスタンスが作成されます。走る

$ cat /etc/host 

本番環境でラバー構成を取得するにはここに画像の説明を入力してください

しかし、http: //web01.musemebackend.com/admin/loginを参照すると、「504ゲートウェイタイムアウト、サーバーが時間内に応答しませんでした」というエラーが発生しました。

apache2のエラーログは次のことを示しています。

[ pid=1813 thr=12161140 file=utils.rb:176 time=2013-03-06 20:49:28.175 ]: 
*** Exception PhusionPassenger::UnknownError in PhusionPassenger::Rack::ApplicationSpawner (Can't connect to MySQL server on 'musemedb.cfmz4gvshyts.us-east-1.rds.amazonaws.com' (110) (Mysql2::Error)) (process 1813, thread #<Thread:0x000000017320e8>):

config / database.ymlを変更すると、次のようになります。

production:
  adapter: mysql2
  encoding: utf8
  database: muse_me_backend_production
  username: app_admin
  password: MYPASSWORD
  host: musemedb.cfmz4gvshyts.us-east-1.rds.amazonaws.com
  port: 3306

config / ruber/rubber-mysql.ymlを次のように変更しました。

# REQUIRED: The credentials for creating/accessong your app's database
#
db_user: app_admin
db_pass: MYPASSWORD
db_name: muse_me_backend_production
db_host: musemedb.cfmz4gvshyts.us-east-1.rds.amazonaws.com

およびconfig/ruber / common / database.yml as

<%
  @path = "#{Rubber.root}/config/database.yml"
%>

<%= Rubber.env %>:
  adapter: <%= YAML::load(File.open("#{Rubber.root}/config/database.yml"))["production"]["adapter"] %>
  encoding: utf8
  database: <%= rubber_env.db_name %>
  username: <%= rubber_env.db_user %>
  password: <%= rubber_env.db_pass %>
  host: <%= rubber_env.db_host %>
  pool: 5

アプリは正常にデプロイされているはずです。データベースの移行も正常に実行されます。サーバーに接続するために見逃したものはありますか?musemebackend.comのドメイン名を所有する必要がありますか?今、私はそれを所有していません。チュートリアルで見たのはfoo.comだけでした。それは重要ですか?

ありがとう

4

1 に答える 1

0

問題は、アプリ ロール インスタンスのセキュリティ グループを DB セキュリティ グループに追加しなかったことです。これで修正されました。

于 2013-03-07T21:31:25.380 に答える