如何在 Linux 中通过 HTTP 快速提供文件和文件夹

今天,我遇到了一大堆通过网络浏览器为局域网中的其他系统提供单个文件或整个目录的方法。 我在我的 Ubuntu 测试机器上测试了几种方法,它们都工作得很好,如下所述。 如果您想知道如何在 Linux 中通过 HTTP 轻松快速地提供文件和文件夹,那么以下方法之一肯定会有所帮助。

内容

  1. 在 Linux 中通过 HTTP 服务文件和文件夹
    1. 方法 1 – 使用 simpleHTTPserver (Python)
    2. 方法 2 – 使用 Quickserve (Python)
    3. 方法 3 – 使用 Ruby
    4. 方法 4 – 使用 Http-server (NodeJS)
    5. 方法 5 – 使用 Miniserve (Rust)
    6. 帮助我们帮助您:

在 Linux 中通过 HTTP 服务文件和文件夹

免责声明: 这里给出的所有方法都是为了在安全的局域网中使用。 由于这些方法没有任何安全机制,因此 不建议在生产中使用它们. 你被警告了!

方法 1 – 使用 simpleHTTPserver (Python)

我们已经在下面的链接中编写了一个简短的指南来设置一个简单的 http 服务器以立即共享文件和目录。 如果你有一个安装了 Python 的系统,这个方法非常方便。

  • 如何使用 simpleHTTPserver 设置基本文件服务器

方法 2 – 使用 Quickserve (Python)

此方法专门用于 Arch Linux 及其变体。 检查以下链接以获取更多详细信息。

  • 如何在 Arch Linux 中即时共享文件和文件夹

方法 3 – 使用 Ruby

在这种方法中,我们使用 Ruby 在类 Unix 系统中通过 HTTP 提供文件和文件夹。 按照以下链接中的说明安装 Ruby 和 Rails。

  • 在 CentOS 和 Ubuntu 中安装 Ruby on 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 从任何远程系统访问此文件夹的内容 – https://:8000/.

红宝石http服务器

停止分享按 CTRL+C.

方法 4 – 使用 Http-server (NodeJS)

Http服务器 是一个用 NodeJS 编写的简单的、生产就绪的命令行 http-server。 它需要零配置,可用于通过网络浏览器即时共享文件和目录。

如下所述安装 NodeJS。

  • 如何在 Linux 上安装 NodeJS

安装 NodeJS 后,运行以下命令安装 http-server。

$ npm install -g http-server

现在,转到任何目录并通过 HTTP 共享其内容,如下所示。

$ cd ostechnix
$ http-server -p 8000 Starting up http-server, serving ./ Available on:   https://127.0.0.1:8000   https://192.168.225.24:8000   https://192.168.225.20:8000 Hit CTRL-C to stop the server

现在,您可以使用 URL 从网络中的本地或远程系统访问此目录的内容 – https://:8000.