2015年9月14日 星期一

快速建立與開放本地HTTP伺服器至網際網路

這篇文章簡單敘述如何使用node.js的http-server套件與ngrok,快速在本地端建立HTTP伺服器並公開至網際網路。

Copyright ngrok.com

快速建立HTTP伺服器


在開發網站的過程中我們經常需要建立HTTP伺服器進行測試。雖然在Linux上有很多HTTP伺服器套件可用,但他們大多需要相當繁複的設定。當只是在本地端進行初步開發之時,我們其實可以使用下面介紹的http-server,快速建立本地端伺服器。

我們先在本地端寫一個簡單的index.html網頁:


接著透過npm取得http-server套件
npm install -g http-server
安裝完後,在index.html的目錄下執行http-server



預設情況下,它會抓取當前目錄下的網頁,並在port 8080上建立伺服器。此時可用本地瀏覽器連到http://localhost:8080看看是否已經正確執行。

將本地伺服器開放到網際網路


在協同開發過程可能還會需要將此網站提供給他人使用,此時我們可以利用ngrok將本地網站開放到網路上。

首先先去ngrok的官方網站下載軟體。在這裡以Linux為例,將下載下來的zip檔解壓後,透過下面的指令執行:
./ngrok http 8080
這個指令會將本地port 8080的HTTP伺服器開放出去。執行後可以看到這個畫面:



其他人就可以透過圖中的這個網址連線到這台伺服器。


注意這個網域名稱是會改變的,也就是每次重新使用ngrok時都會產生不同的名稱。如果有固定域名的需求,可以利用ngrok的付費服務達成。

TL;DR:


npm install -g http-server
http-server ./
ngrok http 8080

透過http-server與ngrok,只要簡單的幾個指令,不需要繁複的設定就可以建立起HTTP伺服器,很適合開發階段使用

http-server套件的網頁,可以在這裡看更詳細的使用方式:

ngrok的官方網站:
https://ngrok.com/


(附註:使用python也可以快速建立HTTP server:python -m SimpleHTTPServer 8080)