12
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ngrokをバックグラウンドで実行する備忘録

Last updated at Posted at 2020-04-30

#はじめに
ngrokとはlocalhostで建てたサーバをポート開放などを行わずに外部公開できるサービスです。

ngrokには有料版と無料版があり、有料版ではカスタムサブドメインを設定できるのでそのままバックグラウンドで実行させればできるみたいです。今回は無料版ngrokでのバックグラウンド実行方法を紹介します。

##導入方法
長くなるので割愛します。こちらを参考にしてください。

###アカウント登録
まず最初に公式サイトからアカウント登録(無料)を行います。

###アカウント接続
アカウント登録が終わったら認証トークンをコピーします。認証トークンはこちらにあります。
開発環境にてターミナルを開き、下記のようにコマンドを記述します。

ngrok authtoken {先ほどコピーした認証トークン} 

##ローカルサーバを外部公開!
以下のように記述します。

ngrok http {ローカルサーバのポート番号}

すると以下のような結果が返ってきます。

Session Status                online                                                                                                                          
Account                       hogehoge (Plan: Free)                                                                                                        
Version                       2.3.35                                                                                                                          
Region                        United States (us)                                                                                                              
Web Interface                 http://127.0.0.1:4040                                                                                                           
Forwarding                    http://r4df3sfk91.ngrok.io -> http://localhost:3000                                                                               
Forwarding                    https://r4df3sfk91.ngrok.io -> http://localhost:3000                                                                              
                                                                                                                                                              
Connections                   ttl     opn     rt1     rt5     p50     p90                                                                                     
                              0       0       0.00    0.00    0.00    0.00 

###アクセス
httpならhttp://r4df3sfk91.ngrok.io
httpsならhttps://r4df3sfk91.ngrok.ioにアクセス出来れば成功です。

#バックグラウンドで実行
さて、ここからが本題です。
フォアグランドで実行している状態だとSSHの接続が切れたり、他のプログラムを実行したりするとngrokが落ちてしまいます。それを防ぐため、今回はnohupコマンドを使ってバックグラウンド実行を実現してみようと思います。

###nohupとは
簡単に説明すると、バックグラウンドでコマンドを実行するためのコマンドです。
詳しくはこちらを参考にしてください。

以下のように記述します。

nohup ngrok 3000 &

これでバックグラウンド実行できました。

###リンクの確認
ngrokのリンクを確認するにはcurlで[localhost:4040/api/tunnels]を叩き、返ってきた結果から[ngrok.io]と書かれた部分を探します。
かなり長い結果が返ってくるので、grepも併用してあげるとよいでしょう。

curl http://localhost:4040/api/tunnels | grep ngrok.io

すると結果にリンクが返ってきます。

#参考リンク
https://stackoverflow.com/questions/27162552/ngrok-running-in-background

12
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?