網頁

2023年2月23日 星期四

使用 ngrok 服務 (Colab環境)

在開發網頁應用或是聊天機器人時,通常是使用本機的伺服器,無法真正在外界進行測試,然而透過免費的 ngrok 服務,能夠將本機環境映射到一個 ngrok 網址,公開在整個網際網路中,由於是公開網址,就能真正在外界進行測試。

現在一步一步講解本機如何產生一個 ngrok 網址

1. 首先註冊 ngrok 取得 token
前往 ngrok 的網站,註冊帳號並登入。ngrok 網站:https://ngrok.com/

2. 登入後,從左側選單點擊 Your Authtoken,會出現一段串接 ngrok 服務所使用的 token ( 點擊網頁最下方 reset token 按鈕可以重設 token )。

3.接著打開 colab,使用命令輸入註冊 ngrok 後取得的 token。


4.在colab輸入線面程式掛載Google雲端硬碟

from google.colab import drive
drive.mount('/content/drive', force_remount=True)

!mkdir -p /drive
#umount /drive
!mount --bind /content/drive/My\ Drive /drive
!mkdir -p /drive/ngrok-ssh
!mkdir -p ~/.ssh

 
5.接著繼續輸入下方的程式碼,將 ngrok 安裝到 Google 雲端硬碟中。

!mkdir -p /drive/ngrok-ssh
%cd /drive/ngrok-ssh
!wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip -O ngrok-stable-linux-amd64.zip
!unzip -u ngrok-stable-linux-amd64.zip
!cp /drive/ngrok-ssh/ngrok /ngrok
!chmod +x /ngrok

6.使用 pip 安裝 flask_ngrok 函式庫。

!pip install flask_ngrok 

7. 輸入下面的程式碼,除了使用 Flask 建立網頁服務,也使用 run_with_ngrok 將網頁服務與 ngrok 串接。

from flask import Flask
from flask_ngrok import run_with_ngrok

app = Flask(__name__)
run_with_ngrok(app)

@app.route("/<name>")
def home(name):
    return f"<h1>hello {name}</h1>"

app.run()

程式碼執行後,如果出現 ngrok 的網址,就表示已經串接成功,因為 ngrok 支援 https,可自行將 http 改為 https。


 8. 打開瀏覽器輸入ngrok產生的網址。(最後要加上根目錄名)


 

對於開發者來說,ngrok 是一個相當方便的服務,可以快速測試程式是否正常運作,不過使用 ngrok 時仍有下列幾點事項需要注意:

使用本機環境開發時,如果電腦關機 ( 或網路斷線 ),服務也會跟著中斷。
ngrok 免費版同時間內只能串連一個服務。
Colab 程式有運行時間限制,無法作為正式的伺服器使用。


 

沒有留言:

張貼留言