如何在 Linux 中快速地通過 HTTP 提供文件訪問服務
如今,我有很多方法來通過 Web 瀏覽器為區域網中的其他系統提供單個文件或整個目錄的訪問。我在我的 Ubuntu 測試機上測試了這些方法,它們如下面描述的那樣運行正常。如果你想知道如何在類 Unix 操作系統中通過 HTTP 輕鬆快速地提供文件和文件夾的訪問服務,以下方法之一肯定會有所幫助。
在 Linux 中通過 HTTP 訪問文件和文件夾
免責聲明:此處給出的所有方法適用於安全的區域網。由於這些方法沒有任何安全機制,因此不建議在生產環境中使用它們。你注意了!
方法 1 - 使用 simpleHTTPserver(Python)
我們寫了一篇簡要的指南來設置一個簡單的 http 伺服器,以便在以下鏈接中即時共享文件和目錄。如果你有一個安裝了 Python 的系統,這個方法非常方便。
方法 2 - 使用 Quickserve(Python)
此方法針對 Arch Linux 及其衍生版。有關詳細信息,請查看下面的鏈接。
方法 3 - 使用 Ruby
在此方法中,我們使用 Ruby 在類 Unix 系統中通過 HTTP 提供文件和文件夾訪問。按照以下鏈接中的說明安裝 Ruby 和 Rails。
安裝 Ruby 後,進入要通過網路共享的目錄,例如 ostechnix:
$ cd ostechnix
並運行以下命令:
$ ruby -run -ehttpd . -p8000
[2018-08-10 16:02:55] INFO WEBrick 1.4.2
[2018-08-10 16:02:55] INFO ruby 2.5.1 (2018-03-29) [x86_64-linux]
[2018-08-10 16:02:55] INFO WEBrick::HTTPServer#start: pid=5859 port=8000
確保在路由器或防火牆中打開埠 8000。如果該埠已被其他一些服務使用,那麼請使用不同的埠。
現在你可以使用 URL 從任何遠程系統訪問此文件夾的內容 - http:// <ip-address>:8000
。
要停止共享,請按 CTRL+C
。
方法 4 - 使用 Http-server(NodeJS)
Http-server 是一個用 NodeJS 編寫的簡單的可用於生產環境的命令行 http 伺服器。它不需要配置,可用於通過 Web 瀏覽器即時共享文件和目錄。
按如下所述安裝 NodeJS。
安裝 NodeJS 後,運行以下命令安裝 http-server。
$ npm install -g http-server
現在進入任何目錄並通過 HTTP 共享其內容,如下所示。
$ cd ostechnix
$ http-server -p 8000
Starting up http-server, serving ./
Available on:
http://127.0.0.1:8000
http://192.168.225.24:8000
http://192.168.225.20:8000
Hit CTRL-C to stop the server
現在你可以使用 URL 從任何遠程系統訪問此文件夾的內容 - http:// <ip-address>:8000
。
要停止共享,請按 CTRL+C
。
方法 5 - 使用 Miniserve(Rust)
Miniserve 是另一個命令行程序,它允許你通過 HTTP 快速訪問文件。它是一個非常快速、易於使用的跨平台程序,它用 Rust 編程語言編寫。與上面的程序/方法不同,它提供身份驗證支持,因此你可以為共享設置用戶名和密碼。
按下面的鏈接在 Linux 系統中安裝 Rust。
安裝 Rust 後,運行以下命令安裝 miniserve:
$ cargo install miniserve
或者,你可以在其發布頁下載二進位文件並使其可執行。
$ chmod +x miniserve-linux
然後,你可以使用命令運行它(假設 miniserve 二進位文件下載到當前的工作目錄中):
$ ./miniserve-linux <path-to-share>
用法
要提供目錄訪問:
$ miniserve <path-to-directory>
示例:
$ miniserve /home/sk/ostechnix/
miniserve v0.2.0
Serving path /home/sk/ostechnix at http://[::]:8080, http://localhost:8080
Quit by pressing CTRL-C
現在,你可以在本地系統使用 URL – http://localhost:8080
訪問共享,或者在遠程系統使用 URL – http://<ip-address>:8080
訪問。
要提供單個文件訪問:
$ miniserve <path-to-file>
示例:
$ miniserve ostechnix/file.txt
帶用戶名和密碼提供文件/文件夾訪問:
$ miniserve --auth joe:123 <path-to-share>
綁定到多個介面:
$ miniserve -i 192.168.225.1 -i 10.10.0.1 -i ::1 -- <path-to-share>
如你所見,我只給出了 5 種方法。但是,本指南末尾附帶的鏈接中還提供了幾種方法。也去測試一下它們。此外,收藏並時不時重新訪問它來檢查將來是否有新的方法。
今天就是這些。希望這篇文章有用。還有更多的好東西。敬請期待!
乾杯!
資源
via: https://www.ostechnix.com/how-to-quickly-serve-files-and-folders-over-http-in-linux/
作者:SK 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive