如何即時設(shè)置一個靜態(tài)文件服務(wù)器
曾經(jīng)想通過網(wǎng)絡(luò)共享你的文件或項目,但不知道怎么做?別擔(dān)心!這里有一個名為 serve 的簡單實用程序,可以通過網(wǎng)絡(luò)即時共享你的文件。這個簡單的實用程序會立即將你的系統(tǒng)變成一個靜態(tài)文件服務(wù)器,允許你通過網(wǎng)絡(luò)提供文件。你可以從任何設(shè)備訪問這些文件,而不用擔(dān)心它們的操作系統(tǒng)是什么。你所需的只是一個 Web 瀏覽器。這個實用程序還可以用來服務(wù)靜態(tài)網(wǎng)站。它以前稱為 “list” 或 “micri-list”,但現(xiàn)在名稱已改為 “serve”(提供),這更適合這個實用程序的目的。
使用 Serve 來設(shè)置一個靜態(tài)文件服務(wù)器
要安裝 serve,首先你需要安裝 NodeJS 和 NPM。參考以下鏈接在 Linux 中安裝 NodeJS 和 NPM。
NodeJS 和 NPM 安裝完成后,運行以下命令來安裝 serve:
$ npm install -g serve
完成!現(xiàn)在是時候 serve 文件或文件夾了。
使用 serve 的典型語法是:
$ serve [options] <path-to-files-or-folders>
提供特定文件或文件夾
例如,讓我們共享 Documents
目錄里的內(nèi)容。為此,運行:
$ serve Documents/
示例輸出:
正如你在上圖中看到的,給定目錄的內(nèi)容已通過兩個 URL 提供網(wǎng)絡(luò)支持。
要從本地系統(tǒng)訪問內(nèi)容,你只需打開 Web 瀏覽器,輸入 URL http://localhost:5000/
:
serve 實用程序以簡單的布局顯示給定目錄的內(nèi)容。你可以下載(右鍵單擊文件并選擇“將鏈接另存為…”)或只在瀏覽器中查看它們。
如果想要在瀏覽器中自動打開本地地址,使用 -o
選項。
$ serve -o Documents/
運行上述命令后,serve 實用程序?qū)⒆詣哟蜷_ Web 瀏覽器并顯示共享項的內(nèi)容。
同樣,要通過網(wǎng)絡(luò)從遠程系統(tǒng)訪問共享目錄,可以在瀏覽器地址欄中輸入 http://192.168.43.192:5000
。用你系統(tǒng)的 IP 替換 192.168.43.192。
通過不同的端口提供內(nèi)容
你可能已經(jīng)注意到,默認情況下,serve 實用程序使用端口 5000。因此,確保防火墻或路由器中允許使用端口 5000。如果由于某種原因被阻止,你可以使用 -p
選項使用不同端口來提供內(nèi)容。
$ serve -p 1234 Documents/
上面的命令將通過端口 1234 提供 Documents
目錄的內(nèi)容。
要提供文件而不是文件夾,只需給它完整的路徑,如下所示。
$ serve Documents/Papers/notes.txt
只要知道路徑,網(wǎng)絡(luò)上的任何用戶都可以訪問共享目錄的內(nèi)容。
提供整個 $HOME
目錄
打開終端輸入
$ serve
這將通過網(wǎng)絡(luò)共享整個 $HOME
目錄的內(nèi)容。
要停止共享,按下 CTRL+C
。
提供選定的文件或文件夾
你可能不想共享所有文件或目錄,只想共享其中的一些。你可以使用 -i
選項排除文件或目錄。
$ serve -i Downloads/
以上命令將提供整個文件系統(tǒng),除了 Downloads
目錄。
僅在本地主機上提供內(nèi)容
有時,你只想在本地系統(tǒng)而不是整個網(wǎng)絡(luò)上提供內(nèi)容。為此,使用 -l
標(biāo)志,如下所示:
$ serve -l Documents/
此命令會僅在本地提供 Documents
目錄。
當(dāng)你在共享服務(wù)器上工作時,這可能會很有用。系統(tǒng)中的所有用戶都可以訪問共享,但遠程用戶不能。
使用 SSL 提供內(nèi)容
由于我們通過本地網(wǎng)絡(luò)提供內(nèi)容,因此我們不需要使用 SSL。但是,serve 實用程序可以使用 -ssl
選項來使用 SSL 共享內(nèi)容。
$ serve --ssl Documents/
要通過 Web 瀏覽器訪問共享,輸入 https://localhost:5000
或 https://ip:5000
。
通過身份驗證提供內(nèi)容
在上面的所有示例中,我們在沒有任何身份驗證的情況下提供內(nèi)容,所以網(wǎng)絡(luò)上的任何人都可以在沒有任何身份驗證的情況下訪問共享內(nèi)容。你可能會覺得應(yīng)該使用用戶名和密碼訪問某些內(nèi)容。
為此,使用:
$ SERVE_USER=ostechnix SERVE_PASSWORD=123456 serve --auth
現(xiàn)在用戶需要輸入用戶名(即 ostechnix
)和密碼(123456
)來訪問共享。(LCTT 譯注:123456 是非常不好的密碼,僅在實驗情況下使用)
serve 實用程序還有一些其它功能,例如禁用 Gzip 壓縮,設(shè)置 CORS 頭以允許來自任河源的請求,防止自動復(fù)制地址到剪貼板等。通過以下命令,你可以閱讀完整的幫助部分。
$ serve help
好了,這就是全部了。希望這可以幫助到你。更多好東西要來了,敬請關(guān)注!