如何在 Linux 中快速地通过 HTTP 提供文件访问服务
创始人
2024-03-02 00:52:29
0

如今,我有很多方法来通过 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:// :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:// :8000

要停止共享,请按 CTRL+C

方法 5 - 使用 Miniserve(Rust)

Miniserve 是另一个命令行程序,它允许你通过 HTTP 快速访问文件。它是一个非常快速、易于使用的跨平台程序,它用 Rust 编程语言编写。与上面的程序/方法不同,它提供身份验证支持,因此你可以为共享设置用户名和密码。

按下面的链接在 Linux 系统中安装 Rust。

安装 Rust 后,运行以下命令安装 miniserve:

$ cargo install miniserve

或者,你可以在其发布页下载二进制文件并使其可执行。

$ chmod +x miniserve-linux

然后,你可以使用命令运行它(假设 miniserve 二进制文件下载到当前的工作目录中):

$ ./miniserve-linux 

用法

要提供目录访问:

$ miniserve 

示例:

$ 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://:8080 访问。

要提供单个文件访问:

$ miniserve 

示例:

$ miniserve ostechnix/file.txt

带用户名和密码提供文件/文件夹访问:

$ miniserve --auth joe:123 

绑定到多个接口:

$ miniserve -i 192.168.225.1 -i 10.10.0.1 -i ::1 -- 

如你所见,我只给出了 5 种方法。但是,本指南末尾附带的链接中还提供了几种方法。也去测试一下它们。此外,收藏并时不时重新访问它来检查将来是否有新的方法。

今天就是这些。希望这篇文章有用。还有更多的好东西。敬请期待!

干杯!

资源


via: https://www.ostechnix.com/how-to-quickly-serve-files-and-folders-over-http-in-linux/

作者:SK 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

技术速递|使用 Chrom...
Chroma 网站 https://trychroma.com/ ...
2025-03-12 20:42:04
首篇AI自写论文通过ICL...
新智元报道 编辑:桃子 【新智元导读】Sakana AI刚刚官宣...
2025-03-12 16:14:45
邀请码炒到10万?Open...
新智元报道 编辑:编辑部 JHNZ 【新智元导读】离了个大谱,M...
2025-03-07 14:23:04
阿里深夜开源推理模型QwQ...
今夜,Manus发布之后,随之而来赶到战场的,是阿里。 凌晨3点...
2025-03-06 08:50:26
开源仅6天,阿里万相大模型...
3月3日消息,开源社区Hugging Face最新榜单显示,开源仅...
2025-03-03 20:19:33
超越 Sora!阿里万相大...
整理 | 褚杏娟 2 月 25 日消息,阿里云旗下视觉生成基座模型...
2025-02-28 20:23:31

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...