シーン:DOTNET xx.dllを使用した後、あなたが.netcoreプログラムを展開したときに実行することができますが、閉殻またはカットオフ時間を自動切断する、この時点で.netcore展開プログラムは、現時点ではアクセスできませんスーパーバイザーを使用する必要があります
スーパーバイザーは(http://supervisord.org/)クライアントのPython /サーバーサービスで開発された、のLinux / Unixシステムの下でプロセス管理ツールで、Windowsシステムではサポートされていません。これは、簡単に、監視開始、停止、1つ以上のプロセスを再起動することができます。プロセス管理とスーパーバイザー、プロセスが予期せずに殺されたとき、supervisortは死のプロセスを監視するために、それが自動的に再起動引っ張ってくる、制御するためのシェルスクリプトを作成する必要がなくなり、自動回復機能のプロセスを実行するために便利です。
1、Pythonのインストール
yumをpython-インストールsetuptoolsの
easy_installをスーパーバイザーを
2、新しいスーパーバイザフォルダ
MKDIRは/ etc /スーパーバイザ
3、ディレクトリ内のファイルを生成supervisord.conf
echo_supervisord_conf> /etc/supervisor/supervisord.conf
4、新しいconf.dフォルダ
mkdir /etc/supervisor/conf.d
この時点ディレクトリ構造で:
5、supervisord.conf編集ファイル、ファイルの末尾に追加します
[含める] ファイル = conf.d / * .confの
6、Test.confをしてconf.dにファイルを追加
ファイルの内容:
[プログラム:testservice];プログラム名、識別するのに必要な端末制御 コマンド = DOTNETのtest2.dllを、プログラムを実行するためのコマンド ディレクトリ = /ホーム/ウェブサイト/テスト/ ;コマンド実行ディレクトリの 自動再がある = trueに、終了が予期せずに自動的に再起動 stderr_logfile = / VAR /ログ/ testservice.err.log、エラー・ログ・ファイル stdout_logfile = / VAR / TestService /ログインします。OUT .logで、出力ログファイルの 環境 = ASPNETCORE_ENVIRONMENT = 生産者、プロセスの環境変数 ユーザー = ルート;実行するユーザプロセスのID StopSignalは、 INT =
startsecs = 1;自動再起動間隔
7、指定されたスーパーバイザープロファイル
supervisord -c /etc/supervisor/supervisord.conf
8、スタートからスーパーバイザのブート
ディレクトリは/ usr / libに/にsystemd /システムの中に新しいファイルsupervisord.service
ファイルの内容:
#1 supervisord.service [単位] 説明 = スーパーバイザーデーモン [サービス] タイプ = フォーク ExecStart =は/ usr / binに/ supervisord -cの/ etc /監督/ supervisord.conf ExecStop =は/ usr / binに/ supervisorctlシャットダウン ExecReload =は/ usr / binに/ supervisorctlリロード KillMode = プロセス を再起動 =オン故障 RestartSec = 42S [インストール] WantedBy = multi-user.target
9、構成を検証
systemctlデーモンリロード
サービスの再起動、スーパーバイザ
の$ supervisorctlは再読
:ときに再起動が指定されている場合は
、エラー:<クラスのsocket.errorが'>、[111 ERRNO]は接続を拒否しました:ファイル:ライン/usr/lib64/python2.6/socket.py:567
、サービスをすることができます起動し、起動していない:
sudoのsupervisord -c /etc/supervisor/supervisord.conf
sudoのsupervisorctl -c /etc/supervisor/supervisord.conf
あなたが/etc/supervisord.confを変更する場合は、コンフィギュレーションをリロードするsupervisorctlリロードを実行する必要がありますファイル、それ以外の場合は動作しません。
10、スタートアップサービス
supervisor.serviceを有効systemctl
11、ブートするかどうかを確認します
systemctlはあり -enabled supervisord
12、サービスを開始
supervisor.serviceを開始systemctl
これが完了します
参考記事:
https://www.cnblogs.com/hobinly/p/7382038.html
https://my.oschina.net/lichaoqiang/blog/1861791
https://www.cnblogs.com/sundahua/p/9149692.html
https://blog.csdn.net/chivalrousli/article/details/60324140