4

私は、Googleのクラウドにかなり新たなんだと私はGoogleのクラウドへの私のRubyのAPIを展開しようとすると、私はこの問題を持って、ここで私がやっていることになる:は展開ルビーは、API、Googleのクラウド

私はRubyのAPIをアップロードしましたここではgithubの(それがローカルホスト上で正常に動作します)、>>https://github.com/guisantogui/it

に私はハロートラフ世界のGoogleのチュートリアル>>https://cloud.google.com/ruby/getting-started/hello-world

てきたし、期待どおりに働いたが、私は自分のアプリケーションをアップロードするとき、私はこのhttp 502 bad gatewayを得ましたメッセージは、ここでログになります:

2017-10-30 23:48:53 default[20171030t213633] => Booting Puma 
2017-10-30 23:48:53 default[20171030t213633] => Rails 5.1.4 application starting in production 
2017-10-30 23:48:53 default[20171030t213633] => Run `rails server -h` for more startup options 
2017-10-30 23:48:53 default[20171030t213633] Puma starting in single mode... 
2017-10-30 23:48:53 default[20171030t213633] * Version 3.10.0 (ruby 2.4.1-p111), codename: Russell's Teapot 
2017-10-30 23:48:53 default[20171030t213633] * Min threads: 5, max threads: 5 
2017-10-30 23:48:53 default[20171030t213633] * Environment: production 
2017-10-30 23:48:53 default[20171030t213633] * Listening on tcp://0.0.0.0:3000 
2017-10-30 23:48:53 default[20171030t213633] Use Ctrl-C to stop 
2017-10-30 23:58:01 default[20171030t213633] "GET /" 502 
2017-10-30 23:58:02 default[20171030t213633] "GET /favicon.ico" 502 
2017-10-30 23:58:06 default[20171030t213633] "GET /" 502 
2017-10-30 23:58:06 default[20171030t213633] "GET /favicon.ico" 502 
2017-11-01 10:54:50 default[20171030t213633] "GET /" 502 
2017-11-01 10:54:50 default[20171030t213633] "GET /favicon.ico" 502 
2017-11-01 10:55:02 default[20171030t213633] "GET /favicon.ico" 502 
2017-11-01 10:55:02 default[20171030t213633] "GET /tatoo_artis/list" 502 

そして最後に、私はもっと重要なのapp.yamlファイル思う:事前に

entrypoint: bundle exec rails server Puma -p 3000 
env: flex 
runtime: ruby 

おかげで、私は、問題とどのようにそれを修正することです何何のアイデアを得ていません!

+0

アプリがとてもシンプルなので、これはどこかの設定が誤っているように見えます。共有できるGCPのログはありますか? – Phil

答えて

0

Google Cloudの例https://cloud.google.com/ruby/getting-started/hello-worldはRailsではなくSinatraを使用しています。 あなたはそれだけで持っているのapp.yamlファイルにhttps://github.com/GoogleCloudPlatform/ruby-docs-samples/tree/master/appengine/hello_worldを確認した場合:

# [START app_yaml] 
runtime: ruby 
env: flex 
entrypoint: bundle exec ruby app.rb 
# [END app_yaml] 

そしてapp.rbは単純なシナトラアプリです。

# [START app] 
require "sinatra" 
get "/" do 
    "Hello world!" 
end 
# [END app] 

Railsの設定は少し複雑です。まず、GCP App EngineはPumaをサポートしていないようです(私が間違っていれば修正してください)が、ラックアップしてSECRET_KEY(使用bundle exec rails secret)のような環境変数を設定する必要があるので、app.yamlファイルは:

RAILS_ENV=production bundle exec rails assets:precompile 

あなたの資産をプリコンパイルする

gcloud app deploy 

を実行する前に:

# [START app_yaml] 
runtime: ruby 
env: flex 
entrypoint: bundle exec rackup --port $PORT 
env_variables: 
    SECRET_KEY_BASE: [SECRET_KEY] 
# [END app_yaml] 

はあなたにも実行する必要があります覚えておいてください。

何を探してるんですが、このガイドである:https://cloud.google.com/ruby/rails/appengine、(すでにアプリを持っているので)最初のステップをスキップしてにまっすぐ行く:

ソース「をApp Engineの柔軟な環境にアプリケーションをデプロイします」: Googleのガイド:https://cloud.google.com/ruby/rails/appengine

コード:https://github.com/GoogleCloudPlatform/ruby-docs-samples/tree/master/appengine/rails-hello_world

編集:私はあなたがあなたのログにいくつかのGETリクエストを持って見 、ので、多分プーマがサポートされています。デプロイする前にSECRET_KEYを設定し、資産をプリコンパイルしてみてください。

関連する問題