web-dev-qa-db-ja.com

サーバーからサインオフしてもngrokを実行し続ける方法

リモートに接続しているサーバーで ngrok を実行しています。

明らかなngrok.exe http 80を使用して開始します。問題は、その特定のサーバーでサインオフすると、ngrokが閉じて、トンネルが失われることです。マシンをサインオフした場合でも、ngrokトンネルを実行し続ける方法はありますか?マシンがシャットダウンされた場合、トンネルを実行し続けるために私にできることは何もないことを理解しています。それは明らかです。何か案は?

前もって感謝します。

4
Yusha

あなたが言ったように、マシンがシャットダウンされた場合、プロセスを実行し続ける方法はありません。これを行うにはいくつかの方法があります。これらの各方法では、次の構成ファイルがすでにあると想定しています。

config.yml

authtoken: <your-auth-token>
tunnels:
    default:
        proto: http
        addr: 80

Ngrok Link(Windows/Mac OS/Linux、商用)

Ngrok linkを使用すると、次のコマンドを実行するだけです。

ngrok service install -config /path/to/your/config.yml
ngrok service start

これで、特定のオペレーティングシステムで実行されている他のサービスと同じようにngrokを管理できるようになります。

Nohup(Maco OS/Linux)

Nohupコマンドは通常、MacOSとLinuxにデフォルトでインストールされます。コマンドをそのまま実行するには:

Nohup ngrok start --all --config="path/to/config.yml" &

画面で実行すると、ここでも同じ効果が得られるはずです。

Windowsサービスの作成(Windows)

サービスを作成するには、サービス以外の実行可能ファイルからサービスを作成するためのプログラムをダウンロードする必要があります。ここでは、NSSM(Non-Sucking Service Manager)を使用してこれを行う方法について説明します。

  1. 実行可能ファイルをダウンロードする
  2. CMDを開き、nssm.exeと同じディレクトリにcdします。
  3. 次のコマンドを実行します。

    nssm.exe install ngrok
    
  4. 表示されるウィンドウでngrok実行可能ファイルを選択し、引数に以下を追加して、[サービスのインストール]を押します。

    start --all --config="C:\path\to\my\config.yml"
    
  5. これで、サービスマネージャからサービスを管理できるようになりました。起動するには、管理ターミナルを開き、以下を実行します。

    sc start ngrok
    

Systemdサービスの作成(Linux-systemdのみ)

ルートが必要です。

  1. / etc/systemd/system /にcdします

  2. 次のファイルを作成します。

    ngrok.service

    [Unit]
    Description=Ngrok
    After=network.service
    
    [Service]
    type=simple
    User=<your_user_name>
    WorkingDirectory=/home/<your_user_name>
    ExecStart=/usr/bin/ngrok start --all --config="/path/to/config.yml"
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    
  3. 次に、次のコマンドを実行して、サービスを開始して有効にします

    systemctl enable ngrok.service && systemctl start ngrok.service
    

出典:

https://ngrok.com/docs/ngrok-link#service

https://www.freedesktop.org/software/systemd/man/systemd.unit.html

https://nssm.cc/commands

19
Hobbid Hobbin