:::

Linux上讓Ngrok在背景執行 / Run Ngrok in Linux Background

8月 07, 2023 , , 0 Comments Edit Copy Download

2023-0527-010109.png

改用「ngrok http 80 --log=stdout > /tmp/ngrok.log &」即可。


ngrok

2023-05-27_00-58.png

ngrok是一種讓本來只能在本機端連線的連結埠,轉換成可供網際網路連線的網址。ngrok跟上次介紹的Telebit用法類似,但是知名很多,除了免費版有連線數量上的限制之外,目前使用上相當穩定,是我要測試網站的第一選擇。想知道更多類似的服務,參考「Exposing localhost to the public Internet」這篇文章。

ngrok之所以很適合用來測試網站,是因為它會顯示現在連線的記錄,讓你明確知道客戶端現在連到了那個網址。這對偵錯來說非常方便。但這時候我們也只能看著ngrok的畫面,不能離開修改其他檔案,這樣也是挺困擾的。

讓Ngrok在背景運作 / Run ngrok in background

2023-0527-003831.png

https://stackoverflow.com/a/59756304 

所幸ngrok有提供「--log=stdout」的輸出模式,Kirill Malakhov更進一步把它整理成輸出到特定檔案。

我參考了大家的寫法,整理成以下腳本:

bin/bash

ngrok http 80 --log=stdout > /tmp/ngrok.log &
sleep 3
cat /tmp/ngrok.log

2023-0527-004255.png

如此一來,在ngrok開始運作之後,腳本會先列出 /tmp/ngrok.log 裡面包含Ngrok提供網址的資訊,讓我們確定測試時使用的網址。後續連線的記錄則會保存在 /tmp/ngrok.log 之中,有需要的時候再 tail /tmp/ngrok.log 即可。

如果要讓ngrok停止,可以輸入以下指令:

pkill ngrok

腳本下載 / Download script

為了方便大家使用,上述腳本可在以下網址下載:

下載後記得要給它執行權限。

在Linux指令列可以用以下指令下載,並且設定執行權限:

wget -O ngrok.sh https://ppt.cc/fWvyXx; chmod +x *.sh

最後要來問的是,你有架設過伺服器嗎?

有架設過的朋友請再下面舉個手吧~