Railsをproductionモードで実行するための設定 http://www.ark-web.jp/sandbox/wiki/284.html

[edit]

DBの調整をする

[edit]

設定ファイルを変更する

以上の作業で、アプリにアクセスするとDBがproduction側を向くようにはなりました。

# Webサーバの再起動は必要ないのだろうか…

[edit]

動かしてみる

とりあえず、そのままアプリで、「会員を追加する」という
ストーリーを実行してみると、完了画面で↓このようなエラーが出ます。

We're sorry, but something went wrong.
We've been notified about this issue and we'll take a look at it shortly.

これはRailsのエラーだと思いますので、log/production.logを確認したところ、
送信するメールの本文と、その下に↓このようなエラーがありました。

Errno::ECONNREFUSED (Connection refused - connect(2)):
    /usr/local/lib/ruby/1.8/net/protocol.rb:206:in `initialize'
    /usr/local/lib/ruby/1.8/net/protocol.rb:206:in `new'
    /usr/local/lib/ruby/1.8/net/protocol.rb:206:in `old_open'
    /usr/local/lib/ruby/1.8/timeout.rb:56:in `timeout'
    /usr/local/lib/ruby/1.8/timeout.rb:76:in `timeout'
    /usr/local/lib/ruby/1.8/net/protocol.rb:206:in `old_open'
    /usr/local/lib/ruby/1.8/net/smtp.rb:393:in `do_start'
    /usr/local/lib/ruby/1.8/net/smtp.rb:378:in `start'
    /usr/local/lib/ruby/1.8/net/smtp.rb:316:in `start'
    /home/.../lib/action_mailer_plus.rb:50:in `perform_delivery_smtp'
    /usr/local/lib/ruby/gems/1.8/gems/actionmailer-1.3.5/lib/action_mailer/base.rb:451:in `send'
    /usr/local/lib/ruby/gems/1.8/gems/actionmailer-1.3.5/lib/action_mailer/base.rb:451:in `deliver!'
    /usr/local/lib/ruby/gems/1.8/gems/actionmailer-1.3.5/lib/action_mailer/base.rb:333:in `method_missing'
    /home/.../app/controllers/member/reservations_controller.rb:75:in `create'
    /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/base.rb:1101:in `send'
    /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/base.rb:1101:in `perform_action_without_filters'
    /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/filters.rb:696:in `call_filters'
    /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/filters.rb:688:in `perform_action_without_benchmark'
    /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/benchmarking.rb:66:in `perform_action_without_rescue'
    /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'
    /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/benchmarking.rb:66:in `perform_action_without_rescue'
    /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/rescue.rb:83:in `perform_action'
    /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/base.rb:435:in `send'
    /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/base.rb:435:in `process_without_filters'
    /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/filters.rb:684:in `process_without_session_management_support'
    /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/session_management.rb:114:in `process'
    /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.5/lib/action_controller/base.rb:334:in `process'
    /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.5/lib/dispatcher.rb:41:in `dispatch'
    /home/.../htdocs/dispatch.cgi:10

productionモードでメールが送れない? と思ってググったら、設定ファイルの問題らしい。

[edit]

設定変更

config/environments/production.rbの
↓この設定がコメントアウトされていたが、

# Disable delivery errors, bad email addresses will be ignored
# config.action_mailer.raise_delivery_errors = false

↓このように false を指定すれば動いた

# Disable delivery errors, bad email addresses will be ignored
config.action_mailer.raise_delivery_errors = false

とりあえず、いまは正常に動いているように見えます。

以上です。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-12-06 (木) 19:02:58 (4369d)

アークウェブのサービスやソリューションはこちら