CentOS-Suppervisor-プログラム自動起動-pythonプログラム展開

2129 ワード

CentOS下のpythonプログラムの継続運転
  • は、centOSクラウドサーバにsshでログインし、python app.pyが実行しているプログラムは、ssh登録が終了したら自動的に
  • を終了します.
  • nohup python app.pyで実行されるプログラムを使用して、sshが終了しても
  • を継続することができます.
  • ctrl+zを使って現在のプログラムをバックグラウンドに押して実行し、fgコマンドを使ってフロントに切り返すことができます.ctrl+cは現在のプログラム
  • を終了します.
  • は、nohup python app.py &というシンボルを使用して、ctrl+cの後、
  • を実行し続けます.
    Supervisorのインストール
  • supervisorは、centoOSで指定されたプログラムを自動的に実行し、再起動し、有効な管理を行うことができる
  • .
  • supervisorは現在python 2.xバージョン
  • しかありません.
  • は、virtualenv -p /usr/bin/python venv2xを使用してpython 2.xの実行環境
  • を作成する.
  • その後、source venv2x/bin/activateは、
  • を起動する.
  • 次にpip install supervisorがインストールされる
  • .
    Supervisorの設定
  • は構成ファイルを作成し、echo_supervisord_conf > /etc/supervisord.conf
  • supervisord.co nfはunix_を含んでいます.http_server、supervisord、supervisorcul、includeなどのいくつかの部分は、スコアの先頭に注釈の内容
  • を表しています.
  • サービスを開始します.supervisord -c /etc/supervisord.confはサービスを開始します.
  • 自動設定フォルダです.supervisor.co nfで[include]を有効にし、file=/etc/supervisord.d/*.conf、これはsupervisorに自動的にこのフォルダの下のすべてをロードさせます.confファイル
  • は設定フォルダを作成します.mkdir /etc/supervisord.d/
  • は、プロファイルを追加します.supervisor.dフォルダにapp.com nfファイルを追加します.内容は以下の内容を含みます.
    [program:app]
    command=python3 /tmp/app.py
    
  • その後、サービスを再開します.supervisord -c /etc/supervisord.conf.問題が発生した場合、ps -A|grep supervisorは前のプログラムのpidを発見し、kill -9 xxxは前のプロセスを終了することができる.
  • Supervisorのプロセス管理
  • すべてのプロセスを確認します.supervisorctl status all
  • 全プロセスを停止または再起動し、supervisorctl stop allsupervisorctl start all
  • は、app.com nfのために、より多くのパラメータを追加したautorestart=trueが終了したら自動的に再起動します.startretries=3は自動的に再起動します.最大3回、startsecs=5は5秒起動した後、終了しませんでした.起動成功と見なされます.
    Supervisorをシステム起動に合わせて設定します.
  • センタOS自動起動/etc/rc.localに設定されているコマンド
  • echo "/usr/bin/supervisord -c /etc/supervisord.conf" >> /etc/rc.localは、Supervisorコマンドをコマンドリスト
  • に追加する.