0

私はこのサイトのユーザーから非常に優れたガイダンスを受け取りました.Railsの上級者が次の問題を解決するのを手伝ってくれると思います.

シンプルな Rails アプリケーションを win32 サーバーにデプロイしようとしています。

win32 Rails アプリケーションのデプロイメントについて、これらの手順 ( http://functionalelegant.blogspot.com/2008/05/deploying-rails-on-windows.htmlを参照) に注意深く取り組んできました。

多かれ少なかれクリーンなWindowsインストールから始めて、ダウンロードしてインストールしました

  1. ルビー
  2. ライトTPD
  3. レール
  4. Zed の SCGI Rails ランナー
  5. Windows Server 2003 リソース キット ツール
  6. Ruby/DBI ADO パッケージ

その後、次のことを行いました。

SCGI gem の行をコメントアウトしました (これが実際に問題を引き起こしていました)。

提案どおりにディレクトリ構造を作成し、ログ用のフォルダーを作成しました。

scgi.yaml ファイルと Lighty 構成ファイルを変更して、環境設定を反映させました。

この後、Lighty と SGCI プロセスを起動するバッチ スクリプトを作成しました。それらは正しく実行されているように見えます。ただし、app-errors.log 内には次の行が表示されます。

2009-05-15 16:48:06: (mod_scgi.c.2645) fcgi: got a FDEVENT_ERR. Don't know why. 
2009-05-15 16:48:06: (mod_scgi.c.2469) emergency exit: scgi: connection-fd: 7 fcgi-fd: 8 

最後に、http://localhost:xxxx/に移動すると、空白のページが表示されます。更新: 空白のページだけが表示されていることに気付きました。ソースを表示すると、次の問題が明らかになりました。

2C:/Ruby/lib/ruby/1.8/drb/drb.rb:573:in `load'":C:/Ruby/lib/ruby/1.8/drb/drb.rb:612:in `recv_request'":C:/Ruby/lib/ruby/1.8/drb/drb.rb:911:in `recv_request'"?C:/Ruby/lib/ruby/1.8/drb/drb.rb:1530:in `init_with_client'"<C:/Ruby/lib/ruby/1.8/drb/drb.rb:1542:in `setup_message'"6C:/Ruby/lib/ruby/1.8/drb/drb.rb:1494:in `perform'"8C:/Ruby/lib/ruby/1.8/drb/drb.rb:1589:in `main_loop'"3C:/Ruby/lib/ruby/1.8/drb/drb.rb:1585:in `loop'"8C:/Ruby/lib/ruby/1.8/drb/drb.rb:1585:in `main_loop'"4C:/Ruby/lib/ruby/1.8/drb/drb.rb:1581:in `start'"8C:/Ruby/lib/ruby/1.8/drb/drb.rb:1581:in `main_loop'"2C:/Ruby/lib/ruby/1.8/drb/drb.rb:1430:in `run'"4C:/Ruby/lib/ruby/1.8/drb/drb.rb:1427:in `start'"2C:/Ruby/lib/ruby/1.8/drb/drb.rb:1427:in `run'"9C:/Ruby/lib/ruby/1.8/drb/drb.rb:1347:in `initialize'"2C:/Ruby/lib/ruby/1.8/drb/drb.rb:1627:in `new'"<C:/Ruby/lib/ruby/1.8/drb/drb.rb:1627:in `start_service'"MC:/Ruby/lib/ruby/gems/1.8/gems/scgi_rails-0.4.3/lib/scgi.rb:402:in `run'"HC:/Ruby/lib/ruby/gems/1.8/gems/scgi_rails-0.4.3/bin/scgi_service:61"*C:/Ruby/bin/scgi_service:19:in `load'" C:/Ruby/bin/scgi_service:19:   mesg" too large packet

「ruby script/server」は正常に動作しますが、ページは外部から見えないことに注意してください。

何か案は?何か思い当たることがあれば教えてください。

4

1 に答える 1

3

これについては、「Rails アプリケーションのデプロイ」に章を書きました。http://www.pragprog.com/titles/fr_deploy/deploying-rails-applications

基本的に、mongrel、mongrel_service、および Windows 用の mod_proxy_balancer を備えた apache 2.2 が必要です。

Mongrel を別々のポートで実行して、アプリの 2 つ以上のインスタンスをインストールします。サービスを自動開始するように設定します。

次に、Apache をセットアップしてそれらのバランスを取ります。

これはすべて本で概説されており、私の Web サイトにもいくつかの古い記事があります。apache+mongrel の方法は、現時点で Windows にとって最良の方法です。追加のヘルプが必要な場合は、お気軽にお知らせください。喜んでお手伝いします。

于 2009-05-16T01:36:58.900 に答える