問題タブ [supervisord]
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.
nginx - ダウンタイムなしでアプリケーション サーバーを更新する方法
背景情報: 私は Play Framework ベースのアプリケーションを 2 つのノードで実行しています。これらのノードは単一の nginx ベースのロード バランサーの背後にあります。ソフトウェアの更新は、Jenkins 上で自動化されます。アプリケーションは、Supervisord プロセス マネージャーの上で実行されています。
質問: ソフトウェアの更新中にサービスが稼働するようにソフトウェアをノードに更新する正しい方法は何ですか?
解決策 1: ソフトウェアが更新されるノードからポート 80 を無効にし、ノードがサービスを提供する準備ができたらそれを開きます。ロード バランサーは、リクエストを別のノードに自動的に転送する必要があります。
解決策 2: ソフトウェアの更新中にロード バランサーからノードを無効にします。私は個人的にこのソリューションが好きではありません。ロード バランサーの構成を変更するのはリスクが高すぎるように思えます。また、変更を使用するには、nginx を再起動する必要があります。
他のアプローチを提案していただけますか?
uwsgi - 8 コア マシンでスーパーバイザが CPU 時間の 20% ~ 30% を使用している
以下によると...supervisordは多くのCPUを使用しています。Supervisor が uWSGI アプリケーションを管理しています。それは多くのように見えませんか?どうすればこの負荷を軽減できますか? nice を +1 に変更できますか?
監視構成:
これがiotopの出力です
xml-rpc - XML-RCPを使用してSupervisordで新しいプログラムを生成しますか?
XML-RCP 経由でSupervisordで新しいプログラムを生成することは可能ですか?
Supervisordを使用して、 Apache Qpidブローカーと Python ワーカーを管理しています。キュー内のメッセージ数が特定の制限を超えたときに、より多くのワーカーを生成できるようにしたいと考えています。
これまでのところ、すでに実行中のプロセスを開始および停止することしかできませんでした。しかし、supervisord.conf で一般的なプログラムを指定して、その場で起動したいと考えています。
プログラム例:
これが可能かどうか誰にもわかりますか?
django - Gunicorn および Nginx で Django を構成する方法 (Mac OS X)
Nginx + Gunicorn および Supervisor を Lion で使用して Django をセットアップしようとしています。私はすでにインストールしています:
進行状況: MySQL DMG + MySQLdb コンパイル + Python + brew nginx + easy_install gunicorn + pip install Django + easy_install スーパーバイザー。
現在の構成の詳細:
Gunicorn:ここで見ることができます
実際、他に何をすべきかわかりませんが、mac osx がクレイジーであることを学ぶのに何週間もかかりました。
supervisord - Supervisord の子プロセスに一般的なシグナルを送信する
私はsupervisordを使用して一連のプロセスを管理しています。これらのプロセスを実際に停止して stopsignal を設定することなく、これらのプロセスに任意のシグナルを送信するために Supervisorctl を使用することは可能ですか?
python - UpstartとSupervisordの違いは何ですか?
UpstartとSupervisordは互換性がありますか?彼らは一緒に働きますか?システム(Debian)の起動時にrootとしてPythonプログラムを実行しようとしています。起動後、プログラムがクラッシュした場合でも、プロセスマネージャにプログラムの実行を継続してもらいたいです。これを行うにはどちらが適していますか?
supervisord - 監視対象がHUP信号で再起動しない
スーパーバイザーにその子プロセスを強制終了させ、次にそれ自体を強制終了させますが、ドキュメントに従って再起動しません。Supervisorctl内から呼び出した場合も同じ動作ですreload
。
バージョン:3.0b1
pid - とにかく、Supervisord によって作成されたプロセスの ID を取得するには?
スクリプトで使用するために、supervisord を使用して作成されたプロセスのプロセス ID が必要です。Supervisord によって生成されたプロセスは、デフォルト ディレクトリに .pid ファイルを作成しません。
Supervisord 子プロセスのプロセス ID を取得するにはどうすればよいですか?
logging - Supervisord のロギング
Supervisord.conf ファイルのログ設定について質問があります。職場のサーバーは現在バージョン 3.0b1 を実行しており、logfile_backups と logfile_maxbytes を [supervisord] の下で特定の値に設定しています。これはすべて問題ありません。
ただし、私の質問は、これらのフラグを子プロセスの下に含めると、一番上に設定されているものを上書きしますか?
ここに、私が求めていることを説明するための構成ファイルの一部を示します...
要約すると、[ParserClient] で設定された logfile_maxbytes と logfile_backups は、[supervisord] で設定されたフラグを上書きしますか?
django - gunicorn: エラー (そのようなファイルはありません) nginx + gunicorn + Supervisor
django プロジェクトを gunicorn、nginx、supervisord でデプロイします。INSTALL_APPSに追加されたvirtualenvにgunicornをインストールしました。コマンド./manage.py run_gunicorn -b 127.0.0.1:8999
は機能します:
nginx の場合、nginx.conf を編集しました。
その後、nginxを再起動しました。
Supervisord.conf:
私は走っbin/supervisorctl start all
た。しかし、私は得ました:
不足しているファイルは何ですか? プロジェクトをデプロイするにはどうすればよいですか?