如何即時設定一個靜態檔案伺服器

2019-01-27 12:12:00

曾經想通過網路共用你的檔案或專案,但不知道怎麼做?別擔心!這裡有一個名為 serve 的簡單實用程式,可以通過網路即時共用你的檔案。這個簡單的實用程式會立即將你的系統變成一個靜態檔案伺服器,允許你通過網路提供檔案。你可以從任何裝置存取這些檔案,而不用擔心它們的作業系統是什麼。你所需的只是一個 Web 瀏覽器。這個實用程式還可以用來服務靜態網站。它以前稱為 “list” 或 “micri-list”,但現在名稱已改為 “serve”(提供),這更適合這個實用程式的目的。

使用 Serve 來設定一個靜態檔案伺服器

要安裝 serve,首先你需要安裝 NodeJS 和 NPM。參考以下連結在 Linux 中安裝 NodeJS 和 NPM。

NodeJS 和 NPM 安裝完成後,執行以下命令來安裝 serve:

$ npm install -g serve

完成!現在是時候 serve 檔案或資料夾了。

使用 serve 的典型語法是:

$ serve [options] <path-to-files-or-folders>

提供特定檔案或資料夾

例如,讓我們共用 Documents 目錄裡的內容。為此,執行:

$ serve Documents/

範例輸出:

正如你在上圖中看到的,給定目錄的內容已通過兩個 URL 提供網路支援。

要從本地系統存取內容,你只需開啟 Web 瀏覽器,輸入 URL http://localhost:5000/

serve 實用程式以簡單的佈局顯示給定目錄的內容。你可以下載(右鍵單擊檔案並選擇“將連結另存為…”)或只在瀏覽器中檢視它們。

如果想要在瀏覽器中自動開啟本地地址,使用 -o 選項。

$ serve -o Documents/

執行上述命令後,serve 實用程式將自動開啟 Web 瀏覽器並顯示共用項的內容。

同樣,要通過網路從遠端系統存取共用目錄,可以在瀏覽器位址列中輸入 http://192.168.43.192:5000。用你系統的 IP 替換 192.168.43.192。

通過不同的埠提供內容

你可能已經注意到,預設情況下,serve 實用程式使用埠 5000。因此,確保防火牆或路由器中允許使用埠 5000。如果由於某種原因被阻止,你可以使用 -p 選項使用不同埠來提供內容。

$ serve -p 1234 Documents/

上面的命令將通過埠 1234 提供 Documents 目錄的內容。

要提供檔案而不是資料夾,只需給它完整的路徑,如下所示。

$ serve Documents/Papers/notes.txt

只要知道路徑,網路上的任何使用者都可以存取共用目錄的內容。

提供整個 $HOME 目錄

開啟終端輸入

$ serve

這將通過網路共用整個 $HOME 目錄的內容。

要停止共用,按下 CTRL+C

提供選定的檔案或資料夾

你可能不想共用所有檔案或目錄,只想共用其中的一些。你可以使用 -i 選項排除檔案或目錄。

$ serve -i Downloads/

以上命令將提供整個檔案系統,除了 Downloads 目錄。

僅在本地主機上提供內容

有時,你只想在本地系統而不是整個網路上提供內容。為此,使用 -l 標誌,如下所示:

$ serve -l Documents/

此命令會僅在本地提供 Documents 目錄。

當你在共用伺服器上工作時,這可能會很有用。系統中的所有使用者都可以存取共用,但遠端使用者不能。

使用 SSL 提供內容

由於我們通過本地網路提供內容,因此我們不需要使用 SSL。但是,serve 實用程式可以使用 -ssl 選項來使用 SSL 共用內容。

$ serve --ssl Documents/

要通過 Web 瀏覽器存取共用,輸入 https://localhost:5000https://ip:5000

通過身份驗證提供內容

在上面的所有範例中,我們在沒有任何身份驗證的情況下提供內容,所以網路上的任何人都可以在沒有任何身份驗證的情況下存取共用內容。你可能會覺得應該使用使用者名稱和密碼存取某些內容。

為此,使用:

$ SERVE_USER=ostechnix SERVE_PASSWORD=123456 serve --auth

現在使用者需要輸入使用者名稱(即 ostechnix)和密碼(123456)來存取共用。(LCTT 譯註:123456 是非常不好的密碼,僅在實驗情況下使用)

serve 實用程式還有一些其它功能,例如禁用 Gzip 壓縮,設定 CORS 頭以允許來自任河源的請求,防止自動複製地址到剪貼簿等。通過以下命令,你可以閱讀完整的幫助部分。

$ serve help

好了,這就是全部了。希望這可以幫助到你。更多好東西要來了,敬請關注!

共勉!

資源: