質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Q&A

0回答

1786閲覧

RubyプログラムをHerokuにアップロードしたい

duck

総合スコア28

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

0グッド

0クリップ

投稿2016/11/27 14:15

編集2022/01/12 10:55

###前提・実現したいこと
Rubyで書いたTwitterBotプログラムを、Herokuにアップロードして自動実行したい。

###発生している問題・エラーメッセージ
pushしてもHerokuにアップロードされず、herokuのurlにアクセスしても以下のメッセージが出る。

Application error An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details.

こちらは$heroku logsした結果の一部です。

2016-11-26T14:09:31.214964+00:00 heroku[router]: at=info code=H81 desc="Blank app" method=GET path="/" host=xyz.herokuapp.com request_id=xyz fwd="000" dyno= connect= service= status=502 bytes= 2016-11-26T14:09:32.244455+00:00 heroku[router]: at=info code=H81 desc="Blank app" method=GET path="/favicon.ico" host=xyz.herokuapp.com request_id=xyz fwd="000" dyno= connect= service= status=502 bytes= 2016-11-26T14:57:53.697036+00:00 heroku[slug-compiler]: Slug compilation started 2016-11-27T09:40:12.223058+00:00 heroku[slug-compiler]: Slug compilation started 2016-11-27T09:40:12.223067+00:00 heroku[slug-compiler]: Slug compilation finished 2016-11-27T09:41:11.105253+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=xyz.herokuapp.com request_id=000 fwd="000" dyno= connect= service= status=503 bytes=

###該当のソースコード config.ru

require ‘./app.rb' run Application

###該当のソースコード app.rb

require

1require 'uri' 2require 'openssl' 3require 'time' 4require 'json' 5require 'nokogiri' 6require 'open-uri' 7require 'twitter' 8require 'post_twitter.rb' 9 10get '/' do 11 'under construction' 12end 13get '/post__twitter' do 14 post_twitter() 15end 16

###該当のソースコード Procfile

web: bundle exec ruby app.rb -p $PORT

###補足情報(言語/FW/ツール等のバージョンなど)
これまでロリポップとFTPクライアントを使っていたため、gitやHerokuの仕組みがよく分かっていません。
config.ruやapp.rbがなくても、Rubyプログラムだけアップロードすればいいというものではないのでしょうか。
RailsではなくRubyプログラムなので、config.ruやapp.rbといったファイルは必要ないのでしょうか?

追記
Procfileの記述をweb: bundle exec ruby post_twitter.rb -p $PORTとして、ターミナルで$heroku restart web.1してHerokuにアクセスしたら、無事Twitterに投稿されました。ただ、すぐにサーバーが止まってしまうので、また$heroku restart web.1しなければなりません。ずっとサーバーを起動させておく方法はあるのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

duck

2016/11/27 16:35

Procfileを作成しデプロイしましたが、変わりません。Profileのコードを追記しました。
gouf

2016/11/27 16:48

Procfile の記述を「web: bundle exec rackup -p $PORT」と、config.ru の記述内容をもとにプログラムが走るよう換えても状況変わりませんか?
duck

2016/11/27 17:05

Procfileの記述をweb: bundle exec ruby post_twitter.rb -p $PORTとして、ターミナルで$heroku restart web.1してHerokuにアクセスしたら、無事Twitterに投稿されました。ただ、すぐにサーバーが止まってしまうので、また$heroku restart web.1しなければなりません。ずっとサーバーを起動させておく方法はあるのでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問