問題タブ [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.
c++ - System() が戻り値 255/-1 (8 ビット表現) で失敗する
いくつかのシステム コマンドを含む実行可能ファイルがあります (基本的には、スクリプト ファイルのコピーと実行を行います)。スタンドアロンでテストすると(sudoのように自分で実行可能ファイルを起動して)、system()
正常に動作しています。
ここで、実行可能ファイルを に統合しsupervisord
ます。実行可能ファイルの機能は正常に動作していますが、system()
コマンドは 255 / -1 (8 ビット表現) で失敗します。
私がチェックしたことのリスト:
- プロセスの現在の作業ディレクトリが正しい
- Supervisord と私のプロセスはルートとして実行されています
- ディレクトリとファイルのchownがルート
他の提案はありますか?
python - Supervisord 監視対象プロセスの出力を取得できません
Supervisord によって監視されているプログラムの出力をキャプチャできるかどうかを確認するために、テスト実行可能ファイルを作成しました。
tester.py:
Supervisord.conf:
tail
しかし、supervisorctl でプロセスを実行しようとしても、何も起こりません。
apache-zookeeper - 監視対象でZooKeeperを監視する
ZooKeeperのドキュメントで述べられているように、daemontoolsのようなツールでそれを監視する必要があります。しかし、ドキュメントには例が示されていません。ZooKeeperを起動するために私が知っている唯一の方法は、bin /zkServer.shstartを実行することです。私はsupervisordを使って仕事をするつもりですが、[program:zookeeper]セクションの書き方は私を超えています。どんな例でも素晴らしいでしょう。ありがとう。
これまでのところ、2つの解決策があります。
- githubの最新のコードを使用すると、stopasgroupおよびkillasgroupオプションが提供されます。
- bin / zkServer.sh print-cmdを実行し、出力をsupervisordの「コマンド」オプションにコピーし、パイプ引数を削除して、stdout_logfile、stderr_logfileを追加します。次のように:
django - Django:ファイルパーミッションメディアと静的ファイル
私はスーパーバイザーと一緒にDjangoを使用しています。私のプロジェクトフォルダはfoouser
ディレクトリにありますが、スーパーバイザーでは、によって作成された別のユーザーを使用して展開プロセスを実行することを選択しました
したがって、ユーザーwwwは、別のユーザーディレクトリにあるため、djangoプロジェクトのメディアフォルダーと静的フォルダーにアクセスできません。0777
ファイルの許可を作成するだけでは、ユーザーwww
が静的ファイルやメディアファイルにアクセスできるようにするための適切な方法ではないと思います。foouser
また、ユーザーよりも多くの権限を持つ展開プロセスを実行することはセキュリティリスクになる可能性があると感じていますwww
。
このための最良のアプローチは何ですか?
javascript - Dotcloud nodejs Supervisord.confが機能しない
nodejs サーバー プロセスをスーパーバイザーで監視できるようにしようとしていますが、supervisord.conf を機能させるのに問題があります。デプロイすると、次のエラーが表示されます。
ただし、dotcloud サーバーに ssh して nodejs プロセスを手動で開始すると、正常に実行され、スーパーバイザーがノード インスタンスの開始に失敗していることを示しています。
私の Supervisord.conf は次のようになります。
そして、私のディレクトリ構造は次のとおりです。
この時点では、ここで概説されているディレクトリ構造と同じように見えるため、何が間違っているのかわかりません。何か案は?
編集:
を試した後supervisorctl status
、次のようになります。
/var/log/supervisor で、次のエラー メッセージが表示されることがわかりました。
何が原因なのかわかりません。
linux - monit よりも Supervisord を使用する利点は何ですか
いくつかのデーモン (Web アプリ + バックグラウンド タスク) を実行するカスタム セットアップがあります。これらのデーモンを監視し、リソース消費が一定レベルを超えた場合にデーモンを再起動するのに役立つサービスの使用を検討しています。
どちらが優れているかについての洞察をいただければ幸いです。私が理解しているように、supervisordがサブプロセスを開始している間、monitは新しいプロセスをスピンアップします。このアプローチの長所と短所は何ですか?
また、upstart を使用して monit または Supervisord 自体を監視します。webapp のデプロイは、capistrano を使用して行われます。
ありがとう
python - Supervisor.conf のデフォルトの場所
Supervisord を含む自動展開を試みており、デフォルトの設定パスで混乱しています。
また、 apt -get を介してスーパーバイザー パッケージをインストール/etc/supervisor/supervisor.conf
し/etc/supervisor/conf.d/
た後、このパスは構成例によって実際に満たされます。
この例では、フローは次のようになり、リンクや作成は次のようになります/etc/supervisor.conf
。
ただし、このパスではデフォルトとして指定されておらず、マニュアルで指定されているようsupervisorctl
に、デフォルトの場所はどこかにあると想定されています/etc/supervisor.conf
あらゆる方法でスーパーバイザーをインストールしようとしましたが、結果が得られません。
これがほんの些細なことであることは承知していますが、配備スキームを適切に維持するために、あなたの支援に非常に感謝しています.
python - サーバー ソケット リッスン バックログは 100 接続に制限されています
uwsgiでフラスコアプリを実行しています。スーパーバイザを使用して uwsgi プロセスを管理しています。私はそれを言っているログを見つけます
サーバー ソケットのリッスン バックログは 100 接続に制限されています。
100接続の制限を克服するには? 私の実行中のスクリプトは次のとおりです。
python - Supervisord が Tornado サーバーを起動できない
うまくいかない理由を探るのに 6 時間費やしました。本当に理由がわからない。前もって感謝します!
注:次の設定はubuntuサーバーでは完全に機能しますが、ローカルのMacOSXでは失敗しました
ここに私のsupervisord.confがあります:
conf.d フォルダーの下にある私の tornado.conf は次のとおりです。
走った後
これらのログを取得しました。
注: 「ImportError: tornado.httpserver という名前のモジュールがありません」というエラーが表示されました。しかし、「」のフォルダーからserver.pyを実行しようとすると
サーバーは問題なく起動します。これは、なぜsupervisordが起動できないのか、私にとって本当に混乱しています。
更新:理由はわかりませんが、次の方法でサーバーを起動しました:
次に、supervisord を開始します。すべてが正しく実行されます。しかし、私の通常のユーザー horace では、起動できない理由はまだわかりません。(tornado.httpserver モジュールのインポート)
理由を知っている人はいますか?ありがとう。
logging - スーパーバイザーの空のログファイル
スーパーバイザーのログファイル機能をいじっています。プログラムは stdout に次のように書き込みます。
スーパーバイザーから実行すると、ログ ファイルが作成されますが、stdout_logfile
常に空です。で何かを台無しにするとsample.rb
、何らかの例外が発生しますが、 がstdout_logfile
原因で正常に書き込まれredirect_stderr
ます。
スーパーバイザー構成ファイル:
に出力が表示されないのはなぜstdout_logfile
ですか?