ubuntuでスーパーバイザーを使用する

この記事はTencentCloud + Communityによって自動的に同期され、元のアドレスは[https://stackoverflow.club/article/use_supervisor_in_ubuntu/](https://stackoverflow.club/article/use_supervisor_in_ubuntu/)です。

1. インストール#

sudo apt install supervisor

2. プログラムを構成する#

例は次のとおりです。ディレクトリ/etc/supervisor/conf.d/の下にredsocks2.confを作成し、以下を追加します。

[ program:redsocks2]
command     =/home/wenfeng/bin/redsocks2 -c /home/wenfeng/conf/redsocks2.conf
autostart =true
autorestart =true
redirect_stderr         =true
stdout_logfile_maxbytes = 50MB
stdout_logfile_backups  =10
stdout_logfile          =/var/log/supervisor/redsocks2.log

3. プログラムを実行する#

confファイルを/ etc / supervisor / conf.d /ディレクトリに置くだけの場合は、識別のために supervisorを再起動します

sudo service supervisor restart

次に、プログラムを開始します

sudo supervisorctl start awesome

supervisorでエラーが発生した場合は、 / var / log / supervisor / supervisord.logでログを表示できます。

アプリに問題がある場合は、 / srv / awesome / log / app.logでログを表示できます。

4. その他#

sshトンネルを実行すると、スーパーバイザーは常に終了します

[ program:gpu_ssh_tunnel]
command     =/usr/bin/ssh  -C2qTnN -D 1080 gpu_name@gpu_domin -i /home/wenfeng/.ssh/id_rsa
autostart =true
autorestart =true
redirect_stderr         =true
stdout_logfile_maxbytes = 50MB
stdout_logfile_backups  =10
stdout_logfile          =/var/log/supervisor/gpu_ssh_tunnel.log

Supervisorctlステータス表示

gpu_ssh_tunnel                   FATAL     Exited too quickly(process log may have details)

独自の監視スクリプトを作成する

#! /bin/bash
whiletruedo
	procnum=`ps -ef| grep 'your_name@your_domin' | grep -v grep | wc -l`if[ $procnum -eq 0];then
		/usr/bin/ssh  -f -C2qTnN -D 1080 your_name@your_domin -p 88-i /home/wenfeng/.ssh/id_rsa
	fi
	sleep 30
done

これはまだ機能せず、ログには「ホストキーの検証に失敗しました」と表示されます。

最終的に、スーパーバイザーがrootアカウントを使用してsshを実行したため、新しい既知のホストが存在するため、yesを入力せずに直接終了して受け入れることがわかりました。

次の実験は、sudoで実行するときに指紋を再確認する必要があることを示しています

sudo /usr/bin/ssh  -C2qTnN -D 1080 your_name@your_domin -p your_port -i /home/wenfeng/.ssh/id_rsa
The authenticity of host '[your_name]:88 ([your_ip]:88)' can't be established.
ECDSA key fingerprint is SHA256:M/7Vo2ZjnVVc********DgkZtIjrESKMIaj/rfryfDUmqc.
Are you sure you want to continueconnecting(yes/no)? yes

解決策は、最初にルートアカウントでログインするか、同様のプロセスでスーパーバイザーの指定されたユーザー機能を使用することです。

Recommended Posts

ubuntuでスーパーバイザーを使用する
UbuntuでのAnacondaの使用
ubuntuでhanlpを使用する方法
ubuntuマルチユーザーでディスククォータを使用する
ubuntu zip / unzipの使用
Ubuntuにmysql-pythoをインストールします
ubuntuサーブのNagios3
Ubuntuシステムでdpkgコマンドを使用する方法
ubuntuでiptablesを使用する
仮想マシンでUbuntuとWindowsシステムを使用する
Ubuntuにpythonをインストールする
Ubuntu19.10にJDKをインストールします
ubuntuでのHanlpの使用の概要
ubuntu 14.04 16.0418.04アリババソースを使用
ubuntuスーパーバイザーはuwsgi + nginxを管理します
Ubuntu環境でのSSHのインストールと使用
UbuntuでのPythonでのGDALのインストールと使用
Puttyを使用してVirtualBoxにインストールされているubuntuにログインする方法
Ubuntu18.04にVMwareToolsをインストールします
ubuntuの下で崇高なtexを使用する
ubuntuでのmediawikiの使用
virtualboxを使用してubuntuをデプロイします
ubuntuでのコアダンプのデバッグ
UbuntuにHelmをインストールする方法
ubuntuでのJenkinsのハッピーインストール
Python開発でのパンダの使用
Ubuntuシステムの使用と開発における一般的な例外と解決策
14.10に適用可能なUbuntu13.10でQQを使用する
pythonでnohupコマンド命令を使用する
CentOS8でのnmcliの詳細な使用
Ubuntu14.04にmysqlをインストールする方法
UbuntuにDockerをインストールして構成する
Python開発でのnumpyの使用
Ubuntu16.04構成OpenCV3.4.2と基本的な使用法
Ubuntu環境でのSSHのインストールと使用の詳細な説明
Ubuntuでのgitlabのインストール手順
Ubuntu14.04にmysqlをインストールする方法
Ubuntu 20.04を使用するには、ツールソフトウェアをインストールする必要があります
Linuxの基本(Ubuntuのroot権限)
Ubuntu16.04でLaravel5.4を5.6にアップグレードする手順
サーバーの初期設定にはUbuntu16.04を使用します
PythonでSQLiteを使用する方法
FreeFileSync:Ubuntuでファイルを比較および同期します
CentOS7の時刻同期にNTPを使用する
Ubuntu16.04.5は、lvmモードで完全なレコードをインストールします
Ubuntuでスワップパーティションを追加する方法
UbuntuでopenJDKを簡単にコンパイルする方法
mendeleyを使用してubuntuの下に参照を挿入します
およびおよびまたはPythonでの使用方法
Ubuntu16.04のファイル検索コマンド
nginx + uwsgiを介してubuntuにdjangoアプリケーションをデプロイします
Ubuntu16.04でMySQL5.7のUTF-8エンコーディングを設定します
Ubuntuにcuda10.1ドライバーをインストールする方法
UbuntuでSudoersにユーザーを追加する方法
Ubuntu20.04LTSでJava開発環境を構成する
Ubuntuサーバーへのノード環境のインストールについて
Ubuntuで冗長カーネルを削除する方法
Ubuntu18.04サーバーバージョンのインストールと使用(グラフィック)
Ubuntu環境でのNginxのインストールと展開
Ubuntuで冗長カーネルを削除する方法
Ubuntu16.04でSambaサーバーを使用する方法