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