問題タブ [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.
ruby-on-rails - CapistranoがMongrelクラスターを適切に再起動しない
nginxで実行されている3つの雑種のクラスターがあり、Capistrano2.4.3を使用してアプリをデプロイします。実行中のシステムがあるときに「キャップデプロイ」すると、動作は次のようになります。
- アプリがデプロイされます。コードは正常に更新されました。
cap deployの出力には、次のものがあります。
- "sudo -p'sudo password:' mongrel_rails cluster :: restart-C/var/www/rails/myapp/current/config/mongrel_cluster.yml"を実行しています
- サーバー:["myip"]
- [myip]コマンドの実行
- ** [out::myip]ポート9096を停止します
- ** [out::myip]ポート9097を停止します
- ** [out::myip]ポート9098を停止します
- ** [out::myip]はすでにポート9096を開始しています
- ** [out::myip]はすでにポート9097を開始しています
- ** [out::myip]はすでにポート9098を開始しています
- サーバーをすぐに確認すると、Mongrelがまだ実行中であり、前の3つのインスタンスのPIDファイルがまだ存在していることがわかります。
- しばらくして(1分未満)、Mongrelが実行されなくなり、PIDファイルがなくなり、再起動に失敗しました。
- サーバー上で手動で雑種犬を起動すると、アプリは正常に起動します。
'mongrel_rails cluster :: restart'は、クラスターの再起動を試みる前に、完全な停止を適切に待機していないようです。この問題を診断して修正するにはどうすればよいですか?
編集:答えは次のとおりです。
mongrel_clusterは、「再起動」タスクで、これを実行するだけです。
「開始」を呼び出す前に、プロセスが終了したことを確認するための待機やチェックは行いません。これは、未解決のパッチが提出された既知のバグです。パッチをMongrelClusterに適用すると、問題は解消されました。
ruby-on-rails - Rails アプリケーション (debian ボックスへのデプロイ) には、どのデプロイ ディレクトリを使用しますか?
Rails アプリの最適な展開ディレクトリはどこですか? などのディレクトリを使用する開発者もい/u/apps/#{appname}
ます。または他のOSのデフォルトディレクトリの代わりに使用する場合、何か利点はありますか?/u/apps/#{appname}
/var/www/#{appname}
明らかに、サーバー環境をセットアップする際に、最高のセキュリティ プロパティと最小の摩擦を備えたディレクトリを選択したいと考えています。
Rails アプリをどのようにデプロイしますか? なぜ特定のディレクトリを使用しているのですか? とにかくそれは本当に重要だと思いますか?
ruby-on-rails - Mongrelが正しいHTTP動詞を取得できないのはなぜですか?
Railsアプリには非常にシンプルなものがあります。routes.rb
でアプリを起動しscript/server
、ブラウザをlocalhost:3000/tags/
ポイントすると、次のようになります。
ActionController :: MethodNotAllowed
..。
ただし、でアプリを起動するscript/server webrick
と問題は解決します。
後で:問題が発生した場合に備えて、OSX10.5.5でMongrel1.1.5を実行しています。
ruby-on-rails - Mongrel クラスターとマルチアプリケーションの問題
私たちはこの問題で実行しています。Web サービス (soap4r を使用) を使用して何らかの検索を実行していますが、Web サービス サーバーがダウンし、アプリケーションがそれに接続しようとすると問題が発生します。その時点でアプリケーションにアクセスできなくなり、すべての顧客がブロックされます。
それを避けるために何ができるでしょうか。ブロックされている雑種へのルーティングをブロックすることは可能ですか? (Apacheのプロキシはラウンドロビンアルゴリズムを使用していると思います)
ありがとうロベルト
ruby-on-rails - プロキシの選択: mod_proxy_balancer、nginx + プロキシ バランサ、haproxy?
専用のアクセラレーターで、http://hansard.millbanksystems.comでRails サイトを運営しています。現在、mod-proxy-balancer を使用して Apache をセットアップし、アプリケーションを実行している 4 つの雑種にプロキシしています。
一部のリクエストはかなり遅く、他のリクエストがキューに入れられる状況を防ぐために、アイドル状態の雑種がある場合はリクエストをその雑種に転送するプロキシのオプションを検討しています。
オプションは次のとおりです。
http://labs.reevoo.com/で説明されているように、Apache 用に mod_proxy_balancer を再コンパイルします。
Solaris の公平なプロキシ バランサーを使用して nginx をコンパイルする
Open Solaris 用の haproxy のコンパイル (ただし、これは SMF ではうまく機能しない可能性があります)
これらは合理的な選択肢ですか?明らかなことを見逃していませんか?アドバイスをいただければ幸いです。
ruby-on-rails - Mongrel::DirHandler は Passenger と同等
私は Mongrel::DirHandler を使用して静的ファイルの応答ヘッダーを制御しています - これは私の開発マシンでうまく機能します。私の運用マシンは Passenger を使用しているため、ヘッダーが設定されていません。Passenger の使用時に静的ファイルのヘッダーを制御するにはどうすればよいですか?
私のenvironment.rbからのスニペット:
ruby-on-rails - Apache と Mongrel を使用した複数のレール アプリ
私は実際に、約 15 のモジュールを持つアプリケーションを開発しており、それらはすべて同じデータベースを使用しています。
Apache + Mongrel を使用しています。Windows で作業しているため、Passenger を使用できません (この大罪を許してください!)
次のうち、より良いアプローチはどれですか?
- 仮想サーバーと各アプリケーションの雑種のペアを使用して、複数の小さな Rails アプリケーションをデプロイします。
- 大きな Rails アプリケーションのみをデプロイする
実行中の雑種の数とメモリ/CPUの負荷が心配です。
ruby-on-rails - 謎の Mongrel Rails クラッシュ
OS X 10.4サーバーでruby-pg 0.7.9を介してPostgreSQL 8.3を使用してRails 2.1.2でMongrel 1.1.5を実行しています...
restful_authentication と exception_notification を追加しました。後者は、/RESOURCE_NAME/new を選択するたびに Mongrel が単に「不正な命令」で死亡した場合、役に立たないようです。
どのリソースでも構いません。
development.log で、/layouts/RESOURCE_NAME.html.erb をレンダリングする意図を宣言していることがわかります。スタック トレースも何もありません。server.log は空です。
これはショーストッパーのようなもので、どうすればよいかわかりません。私はwebbrickを実行してみました。
スクリプト/サーバー webbrick --force
しかし、それは私の願いを無視し、雑種をロードします。
任意のポインタをいただければ幸いです。
ruby - apache の ProxyRemote を使用して、HTTPS リクエストを mongrel にプロキシして処理することはできますか?
そのため、mongrel を使用して ruby で記述されたカスタム プロキシを使用して、かなり複雑なキャッシュ ロジックを処理しています。これは http リクエストと ftp リクエストの両方でうまく機能しますが、mongrel は https リクエストを処理するように設計されていないため、すべてを apache で前面に出し、ProxyRemote コマンドを使用して https リクエストのために mongrel にパススルーしたいと考えています。
この種のことは、apache の ProxyPass および ProxyPassReverse コマンドを介して特定のサイト ディレクトリ構造をミラーリングするために簡単に実現できますが、ProxyRemote を使用してこれを行う方法がわかりません。
問題は、安全なリクエストを確立するために作成された CONNECT リクエストを mongrel が処理しないことです。そのため、プロキシ自体で https リクエストを処理することはできますが、実際に https リクエストでプロキシを直接使用することはサポートされていません。
最も簡単な解決策は、apache に https リクエストを処理させてから、単純に http リクエスト自体 (CONNECT を除く) を mongrel に渡し、それを適切に処理させてから apache に返し、次にクライアントに返すことです。
だから私の質問は、ProxyRemote を ProxyPass が HTTP リクエストで行うのと同じように機能させる方法はありますか (つまり、暗号化されていないリクエストを mongrel に渡します)?