問題タブ [mongrel-cluster]

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 に答える
638 参照

ruby-on-rails - Windowsでmongrel_railscluster::startを実行する

Windowsサーバー(v 1.0.5)でmongrel_clusterを実行できましたが、(4)すべてのmongrelインスタンスを生成するのに問題があります。

最初のものは正常に起動しますが、それ以上は起動しません。その1つのインスタンスは問題なく機能しますが、他のインスタンスは起動されません。これは次の理由によると思います:「**警告:Win32はデーモンモードをサポートしていません。」したがって、各インスタンスのプロセスをフォークしません。

このための回避策はありますか?4'mongrel_rails cluster :: start'を手動で開始する必要がある場合でも、それで問題ありません(クラスターの正しいノードを開始すると仮定します)。

私は2つの主要な質問があります:

これを解決する方法はありますか?mongrel_clusterを使用しないことで、どのような優れた機能が失われますか?

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

ruby-on-rails - mongrel_clusterの各プロセスがリクエストを処理していることをどのように確認できますか?

特定のリクエストを処理するのに時間がかかるRailsアプリケーションがあります(画像のアップロードを処理するため)。私は現在、クラスター内に3つの雑種プロセスを持っています。最初のリクエストがビジーの場合、他の2つのうちの1つが2番目のリクエストを処理することを期待しています。

しかし、これは起こっていないようです。サーバーからの出力を見るとtop、画像のサイズが変更されていることがわかります。そのため、簡単なリクエスト(通常はすぐに終了します)でアプリケーションをヒットしようとすると、長時間実行されるリクエストまで待機しているように見えます。完成しました。

log / mongrel.xxxx.logファイルを見ると、起動しているアプリケーションからの出力だけが表示されます。

どのプロセスが実際に各リクエストを処理しているかを確認するにはどうすればよいですか?

雑種犬に各リクエストをログに記録させることはできますか(タイムスタンプだけで、「GET / path / to / resource」のようなものであっても)?

そもそもクラスターが負荷を共有していない理由はありますか?

フロントエンドWebサーバーはnginxなので、おそらくそれが私が探すべき場所ですか?nginx access_logには、リクエストがプロキシされた場所について何も含まれていないようです。

0 投票する
4 に答える
1336 参照

ruby-on-rails - Mongrel サーバーを起動できません

雑種サーバーを起動できません。ログ ファイルを見ると、使用したかったアドレスが使用できないことがわかります。そのアドレスを使用しているサービスがあるかどうかを確認しようとしましたが、見つかりませんでした。

ログ ファイルのエラー メッセージ:

`initialize_without_backlog': 要求されたアドレスを割り当てることができません - bind(2) (Errno::EADDRNOTAVAIL)

どんな助けでも大歓迎です。

乾杯、

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

apache - Mongrel は IPv6 をうまく処理しますか?

Mongrel + Apache 2.2 + mod_proxy_balancer を使用しています。

apache2.2 はよく IPv6 です http://httpd.apache.org/docs/2.2/en/bind.html#ipv6

Mongrel は IPv6 をうまく処理しますか?

プラットフォーム:RHEL ルビー:1.8.6

0 投票する
0 に答える
322 参照

ruby-on-rails - USR2をmongrel_railsに送信すると、再起動時に「アドレスはすでに使用されています」という結果になることがあります

実行中の各プロセスにUSR2シグナルを送信する、mongrelクラスターのローリングリスタートモードがあります。

これは、ほとんどの場合、うまく機能します。ただし、非常にまれに、mongrelプロセスがシャットダウンしてから再起動に失敗し、次のエラーが発生します。

雑種のソースを見ると、USR2ハンドラーは実行中のサーバーで同期停止を呼び出すため、ソケットが解放されるまでブロックする必要があります。

誰かがこのエラーを見たことがありますか?

誰かがそれを引き起こす可能性のあるアイデアを持っていますか?

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

ruby-on-rails - Ruby on Rails:起動時にクラスター内の特定の雑種インスタンスを検出するにはどうすればよいですか?

半ダースの雑種でアプリケーションを実行します。追加した新機能は、雑種内で実行され、cronのようなバックグラウンドタスク処理を提供するスケジューラー(rufus-scheduler)です。このスケジューラーを1つの雑種でのみ実行したいのですが、起動時に(environment.rb)でスケジューラーを起動する特定の雑種を特定する方法がわかりません。

スケジューラーを起動させたい雑種のポート番号を設定したyamlファイルを設定しました。起動時に、enviromnent.rbで、yamlファイルをクエリし、ポートを取得して、これを起動中のインスタンスと比較します。同じ場合は、スケジューラーを起動します。

最近、誰かがrequest.portを確認する必要があると回答しました。起動時にリクエストオブジェクトはありません。ポート番号は他にどこに保存されていますか?または、どのようにしてパルムを個々の雑種に渡すか、それ自体を設定と比較してそれ自体を識別することができますか?

前もって感謝します...

ラッセル

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

ruby-on-rails - 単一サーバーに複数の Rails アプリをデプロイする最もリソース効率の良い方法

独自の専用スライスを正当化するのに十分な大きさではない小さな Web サイトをホストするために使用する仮想専用サーバーがあります。私は Rails 開発者であり、現在 Ubuntu/Nginx/Mongrel Cluster/SQLite スタックを使用してこれらのアプリケーションをデプロイしています。

各 Mongrel インスタンスが消費するメモリが高すぎるように感じます。これらのアプリケーションにサービスを提供するために推奨される方法は、リソースの使用を最小限に抑えることだと思います。Passenger を優先して Mongrel は推奨されなくなったと聞いています。ただ、Mongrelの方が軽いと感じて使い続けています。しかし、これは私の側の完全な誤解かもしれません。

何か案は?

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

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

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

2つの質問:

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

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

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

ruby-on-rails - MongrelはRailsクラスの変更を検出しませんか?

Apache2とUbuntuLTC10.04を実行しているSlicehostサーバーにRailsアプリをインストールしています。これまでのところ、物事はうまく機能しています。ファイルを編集し、すばやく実行するmongrel_rails cluster::restartと、変更が本番環境に反映されます。しかし、突然このプロセスは崩壊しました。

たとえば、にあるというクラスがMasterあり/lib/master.rbます。このクラスに、単に実行する新しいメソッドを追加してからputs "it works!"、mongrelクラスターを再起動しました。本番ログを見ると、サーバーはエラーをスローし、このメソッドは存在しないと考えています。ruby script/console productionただし、を使用してコンソールに移動すると、この新しい方法を完全に使用できます。Masterクラス全体を含むファイルを削除してみました。もう一度、プロダクションはそれがまだそこにあると思いましたが、プロダクションコンソールはそれが欠落していることを正しく認識しました。

何か案は?実稼働環境は、もはや存在しないクラスをどのように検出できますか?

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

ssl - nginx + SslRequirement + mongrelcluster=無限リダイレクトループ

サイトにSSLサポートを追加した後、無限のリダイレクトループが発生します。「SslRequirement」プラグインを使用しています。

私が見ている症状は、「ssl_required」が有効になっているアクションと、先頭にhttpsがある手動で入力したURLが無限ループに入り、development.logファイルに次のようなものが何度も繰り返されることです。ブラウザがリダイレクトループをキャッチしてページの読み込みを停止するまで(この例では「/ admins / index」がアクションですが、どのアクションでも発生します):

最初は、すべてのアクションを「ssl_allowed」にする必要があるという問題があると思ったので、それを試しましたが、役に立ちませんでした。

SslRequirementの使用を削除し、「ssl_required / ssl_allowed」参照を削除すると、httpsは正常に機能します。したがって、問題のように見えるのはhttpからhttpsへのアクションのリダイレクトです。

手がかりはありますか?