問題タブ [mongrel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
5616 参照

windows - ハウツー - Windows 上のサービスとして mongrel で Redmine を実行する

Mongrel で Redmine をプロジェクト マネージャーとして使用し、バッチ ファイル (start-redmine.bat) を使用して Mongrel で Redmine を起動します。私のセットアップには 2 つの問題があります: 1. HTTP ポート (80) を占有するサーバーで実行中の IIS があります。 Windows 更新サービス。

最初の問題では、3000 などのポートで mongrel を実行するしかありません。2 番目の問題では、Windows の起動時にバックグラウンドで自動的に実行される Windows サービスを作成する必要があります。そしてここで問題が発生します!

私が認識しているサービスとして redmine を実行するには、少なくとも 3 つの方法があります。それらのどれも、この主題に関するパフォーマンス ビューを満足させることはできません。Rails アプリ (redmine) を Windows でサービスとして実行するように構成する方法について読むことができ ますか?

私はそれらすべてを試しました。このようなサービスをセットアップする最も簡単な方法は、 mongrel_service アプローチを使用することです。3 行のコマンドで完了です。しかし、そのバッチファイルを実行するよりもパフォーマンスが大幅に低下します...


ここで、私のアプローチをお見せしたいと思います:

まず、ruby をc:\rubyにインストールし、コマンドgem install mongrelを発行して mongrel gem をc:\ruby\binにインストールしたとします。 また、Redmine をインストールしたとします。c:\redmineのようなフォルダーに入れます。PATH 環境変数にruby​​ のパス (つまり、c:\ruby\bin ) があります。

Microsoft Web サイトから Windows NT リソース キット ツールをダウンロードしてインストールします。リソース キットに付属のコマンド ライン ツールを開きます ([スタート] メニューから)。次のコマンドを使用して、instsrv を使用して Redmine というダミー サービスをインストールします。

"[instsrv.exe へのパス]\instsrv" Redmine "[srvany.exe へのパス]\srvany.exe"

私の場合(これがデフォルトのケースです)、次のようなものでした:

"C:\Program Files\Windows Resource Kits\Tools\instsrv" Redmine "C:\Program Files\Windows Resource Kits\Tools\srvany.exe"

ここで、バッチ ファイルを作成します。メモ帳を開いてこれらの手順を貼り付け、「c:\redmine\start-redmine.bat」として保存します。

@echo off
cd c:\redmine\
mongrel_rails start -a 0.0.0.0 -p 3000 -e production

ここで、以前に作成したダミー サービスを構成する必要があります。ここから何をしているのか気をつけないと、Windows が破損する可能性があります。そのサービスを構成するには、Windows レジストリ エディターを開き ([スタート] -> [ファイル名を指定して実行] -> [regedit])、次のノードに移動します。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Redmine

"Redmine" ノードを右クリックし、コンテキスト メニューを使用して、Parametersという新しいキーを作成します(New -> Key) "Parameters" を右クリックし、Applicationという名前の文字列値プロパティを作成します。これをもう一度行い、AppParametersという別の文字列値を作成します。「アプリケーション」をダブルクリックし、cmd.exeを「値のデータ」セクションに入れます。次に、"AppParameters" をダブルクリックして、/C "C:\redmine\start-redmine.bat"を [値のデータ] セクションに入力します。

終わったね!次のコマンドを発行して、mongrel で redmine をサービスとして実行します。

ネットスタートRedmine

編集: Redmine のメール サービスを使用する予定で、McAfee のようなウイルス対策ソフトウェアを使用している場合は、ウイルス対策ソフトウェアに ruby​​ によるメール送信を許可するように指示してください。そうしないと、メール サービスが動作しません。

0 投票する
1 に答える
650 参照

ruby-on-rails - Rails over Mongrel Web サーバーでファイルパスを指定する方法

rails から swf ファイル flaMovie.swf をロードしたいという依頼があります。swf ファイルはディレクトリ /home/user1/railsproj/flash にあります。

.swf ファイルを表示するために、ビュー ディレクトリの下にコード index.rhtml があります。

ID=flaMovie WIDTH=250 HEIGHT=250>

コードを実行すると、エラーが発生しました。

ActionController::RoutingError (「/home/user1/railsproj/flash/flaMovie.swf」に一致するルートがありません。{:method=>:get}): /vendor/rails/actionpack/lib/action_controller/routing.rb:1441: recognize_path' /vendor/rails/actionpack/lib/action_controller/routing.rb:1424:in/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:170:ディスパッチ中handle_request' /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:115:in' /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:126:dispatch_cgi' /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:9:inディスパッチ中' /usr/lib/ruby/ gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:76:process' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:74:in同期中'

私の Rails プロジェクトは /home/user1/railsproj にあり、Web サーバーは Mongrel Web サーバーです。

Mongrel サーバーがファイルを見つけることができるように、rhtml ファイルでパスを指定する方法は? どうもありがとう、

0 投票する
1 に答える
1068 参照

ruby - Sinatra アプリの実行時に Shotgun gem と msvcrt-ruby18.dll でエラーが発生する

ご挨拶、

作業中の Sinatra アプリに変更を加え、ブラウザー ( http://localhost:4567/にあります) を更新しようとするたびに、ブラウザーが更新され、コンソール ウィンドウが WEB ブリック サーバーを再起動するように見えます。問題は、ブラウザー ウィンドウのコンテンツが変更されないことです。

私の友人は、これはショットガンの問題だと言って、rtomayko のショットガンの宝石を紹介してくれました。

http://github.com/rtomayko/shotgun

このページでは、shotgun gem が基本的に問題を解決し、アプリを更新した後にアプリに加えた変更がブラウザー ウィンドウに表示されることを読みました。だから私はショットガンの宝石をインストールしました。インストールは成功しました。ショットガン機能を有効にするには、ファイル名の前にshotgunと入力する必要があります。この場合、Sinatra アプリのファイル名はshortner.rbです。

Sinatra アプリを実行するためにshotgun shortner.rbと入力すると、次のエラーが表示されます。

代替テキスト http://lh6.ggpht.com/_83PkeFeVNNk/S-ymaYEgDUI/AAAAAAAAArE/rr7uJE3dRj4/shotgun_error.png

また、ショットガンの方法をテストして機能するかどうかを確認する前に、雑種をインストールしたことにも言及する必要があります(雑種のインストールによりこの問題が複雑になるため、これを行う前にショットガンが機能するかどうかを確認する必要があったことに気づきました)。したがって、上記のエラー メッセージに加えて、Ruby.exe からこのポップアップ ウィンドウも表示されます。

代替テキスト http://lh6.ggpht.com/_83PkeFeVNNk/S-ymaaWIZKI/AAAAAAAAArA/8qYCGUN8Wo4/msvcrt-ruby18.dll_error.png

msvcrt-ruby18.dllが何かはわかりませんが、 shotgunmongrelをインストールするとこの問題が発生することはわかっています。

ここからどこへ行く?

ありがとう、アダム

0 投票する
1 に答える
225 参照

ruby - Ruby ActiveRecord+Mongrelが遅くなる

私はこのようなクラスを持っています:

これはサーバーであり、反対側でActiveResourceフロントエンドを使用しています。

3番目のリクエストはすべて非常に遅いです(約5秒、1番目と2番目は問題ありません、約0.01秒)。Model.all.to_xmlの問題(ActiveRecord-> SQLiteです)。

なぜ遅すぎるのですか?Mongrel::HttpHandlerで使用した場合にのみ発生します。これは

常にうまく機能します。

0 投票する
3 に答える
3308 参照

ruby-on-rails - 共有ホストサーバーでRubyonRailsアプリを実行する際の問題

共有ホストサーバーにRubyOnRailsアプリをインストールする際に問題が発生しました。Mongrelは、すべてのページのHTMLをプレーンテキストとして表示します。テスト用の空のアプリを作成し、何も変更せずにスキャフォールドビューを追加した場合でも、どのアプリでも問題が発生します。

応答ヘッダーにCookieを配置しようとすると、Mongrelがクラッシュするようです。HTTPヘッダーが不完全に見え、Content-typeおよびその他のパラメーターが欠落しています。

これがmongrel.logからの出力です

ルビー1.8.7レール2.3.8雑種1.1.5

テストページへのリンクは次のとおりです。

誰かがこのようなものを見たことがありますか?

0 投票する
1 に答える
1065 参照

controller - 2.3.8 と Mongrel でのカスタム レール ルートの問題

script/generate scaffold 呼び出しで自動的に作成した「exposures」というコントローラーがあります。足場ページは正常に機能します。露出コントローラーで「テスト」というカスタム アクションを作成しました。ページ ( http://127.0.0.1:3000/exposures/test/1 )を呼び出そうとすると、ソースにテキストがまったくない空白の白い画面が表示されます。

開発環境で Rails 2.3.8 と mongrel を使用しています。development.log にエントリがなく、mongrel を開くために使用されたコンソールに次のエラーが表示されます。

Array のインスタンスを期待していたかもしれません。nil.split の評価中にエラーが発生しました> D:/Rails/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.8/lib/action_controller/cgi_process.rb:52: dispatch_cgi' D:/Rails/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.8/lib/action_controller/dispatcher.rb:101:indispatch_cgi' D:/Rails/ ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.8/lib/action_controller/dispatcher.rb:27:dispatch' D:/Rails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/bin/../lib/mongrel/rails.rb:76:in処理中' D:/Rails/ruby/lib/ruby/gems/1.8/gems/mongrel- 1.1.2-x86-mswin32/bin/../lib/mongrel/rails.rb:74:synchronize' D:/Rails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/bin/../lib/mongrel/rails.rb:74:in処理中' D:/Rails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86 -mswin32/bin/../lib/mongrel.rb:159:in process_client' D:/Rails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/bin/../lib/mongrel.rb:158:ineach' D:/Rails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/bin/.. /lib/mongrel.rb:158 process_client' D:/Rails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/bin/../lib/mongrel.rb:285:in:実行中' D:/Rails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/bin/../lib/mongrel.rb: 285:インチinitialize' D:/Rails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/bin/../lib/mongrel.rb:285:innew' D:/Rails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/bin/../lib/mongrel.rb:285:in run' D:/Rails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/bin/../lib/mongrel.rb:268:ininitialize' D:/Rails/ ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/bin/../lib/mongrel.rb:268:in new' D:/Rails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/bin/../lib/mongrel.rb:268:inrun' D:/Rails/ruby/lib/ruby/gems /1.8/gems/mongrel-1.1.2-x86-mswin32/bin/../lib/mongrel/configurator.rb:282:in run' D:/Rails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/bin/../lib/mongrel/configurator.rb:281:ineach' D:/Rails/ruby/lib/ruby/gems/1.8/gems/ mongrel-1.1.2-x86-mswin32/bin/../lib/mongrel/configurator.rb:281:in run' D:/Rails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/bin/mongrel_rails:128:in run' D:/Rails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2 -x86-mswin32/bin/../lib/mongrel/command.rb:212:in run' D:/Rails/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/bin/mongrel_rails:281 D:/Rails/ruby/bin/mongrel_rails:19:inload' D:/Rails/ruby/bin/mongrel_rails:19

これが Exposures_controller コードです。

賢明な読者は、「グラフ」アクションに気付くでしょう。これは私が本当にやりたいことですが、テスト アクションを実行することさえできなければ、チャンスはないと確信しています。

何か案は?雑種を数回再起動しましたが、変更はありません。

Rake ルートの出力を次に示します (ただし、これが問題だとは思いません。エラーは HTML エラー応答の形式になります)。

助けてくれてありがとう

-ジョン

0 投票する
1 に答える
580 参照

ruby-on-rails - Apache+Mongrelアプリケーションの負荷を分散する方法

Railsアプリケーションのバランスをとる方法を誰かが説明できるかどうか疑問に思いました。

2つの質問:

  1. 同じ専用サーバー内の同じデータベースから別々のRailsアプリケーションを読み取ることも役立ちますか?

  2. Apacheがいくつかの追加モジュールをインストールして負荷を分散できることを理解していますか?私は正しいですか?どうすればこれを達成できますか?(ダミーの説明をお願いします)

0 投票する
2 に答える
585 参照

ruby-on-rails - Rails:投稿パラメータの引用符を失う

Railsサイトに全文検索を追加し、ユーザーが検索入力ボックスに二重引用符を入力できるようにします。問題は、二重引用符がMongrelによってフィルターで除外されているように見えるため、paramsハッシュの値でこれらの引用符を受け取らないことです。これを防ぐにはどうすればよいですか?Rails2.3.8を実行しています。

【編集:分析データ追加】

Firebugでは、postパラメーターが引用符で正しく投稿されているのがわかります。

ただし、開発ログでは、引用符はなくなりました。

PostsController#searchの処理(2010-06-18 17:28:45の127.0.0.1の場合)[POST]パラメーター:{"search_criteria" => "great post"、 "action" => "search"、 "authenticity_token" = > "xUaOc1IAyjQmKn1NGqBpPVaTBmD4ayPq / lUJsqJGCxY ="、 "controller" => "posts"}

そして、コントローラーにparams [:search_criteria]の内容とサイズを記録すると、次のようになります。

[編集:新しい検出]上記のこの問題は、引用符で囲まれた文字列の末尾または前にスペースなどの別の文字が付いている場合には発生しません。

0 投票する
2 に答える
1880 参照

ruby - シナトラ、アップロードフォームのプログレスバー

アップロード フォームで構成される Sinatra アプリを開発しています。進行状況バーには、アップロードがどれだけ完了したかが示されます。ryan dahlによって説明されているプロセスは次のとおりです。

HTTP アップロードのプログレス バーはかなり難読化されています。通常、HTTP サーバーが書き込んでいる一時ファイルのサイズを追跡するサーバー上で実行されているプロセスが含まれます。その後、クライアント側では、サーバーに対して数秒ごとに AJAX 呼び出しが行われます。アップロードの進行状況を尋ねるアップロード。

すべてのアップロードにはランダムなsession-idがあり、アプリで採用している関連付けを追跡するために使用しclass variableています (これは恐ろしいことです。より良いアイデアがあれば教えてください)。

POSTアップロード用のルートと、GETAJAX ポーリング用のルートがあります。POSTルート内に、、、session-idおよびTempfile合計サイズの関連付けを保存します。

ルートでは、の現在のサイズGETに基づいてパーセンテージを計算します。Tempfile

問題は、POSTリクエストが完了するまで (つまり、すべての を読み取った後Tempfile) がh.nil?返されることです。これは、別のルートで値をtrue割り当てただけなので意味がありません。@@assoc[@sid]

それで、私はここで何が欠けていますか?

編集:私は試しました

  • set :reload, false
  • set :environment, :production
  • config { @@assoc ||= {} }
  • また、リレーショナルデータベースを投げてみました(DataMapperを使用したSQLite)

どちらも機能しませんでした。

0 投票する
1 に答える
342 参照

ruby-on-rails - Rails / Mongrel でのストリーミング レスポンス

multipart/x-mixed-replace特にcontent タイプを使用して、Rails アプリケーションでストリーミング応答を送信しようとしています。私が知る限り、Rails ではストリーミング レスポンスはサポートされていません。これは、コンテナがクライアントに何かを送信する前に、レスポンス ボディの長さをバッファして判断しようとするためです。

ちなみに、Mongrel を使用して Rails アプリをデプロイしていますが、カスタム Mongrel ハンドラーはデータを正常にストリーミングでき、Rails アプリとうまく連携できるようです。カスタム ハンドラーを作成できましたが、Rails アプリと一緒に動作させる方法がわかりません。

たとえば、URI/foo.*へのすべての要求をカスタム ハンドラーに送信し、その他すべての要求を Rails で処理したいと考えています。誰かがこれを実現する方法をアドバイスできますか? 上記のリンク先の記事の結果を再現できないようです。または、Rails ハンドラーに自由なストリーミング レスポンスを生成させる簡単な方法はありますか?