简单的文件服务器以提供当前目录

54 投票
4 回答
67653 浏览
提问于 2025-04-17 18:37

我想找一个超级简单的工具,可以在命令行里启动,让它服务于当前的文件夹(最好不是上级文件夹),还希望能加个 -p 参数来指定端口。因为这个工具是用来开发的,所以默认情况下应该只允许本地连接,也许可以有个选项来改变这个设置。越简单越好。

我不太确定该用哪些标签。

4 个回答

3

有一个叫做 App::HTTPThis 的Perl应用,或者我常用一个小巧的 Mojolicious 服务器来完成这个任务。你可以看看我之前写的 博客文章

首先,创建一个文件,名字可以叫 server.pl,然后把下面的内容放进去。

#!/usr/bin/env perl

use Mojolicious::Lite;

use Cwd;
app->static->paths->[0] = getcwd;

any '/' => sub {
  shift->render_static('index.html');
};

app->start;

接下来,安装Mojolicious:在终端输入 curl get.mojolicio.us | sh,然后运行 morbo server.pl

这样应该就能正常工作了,如果需要的话,你还可以对脚本进行一些调整。

16

对于Node.js,有一个叫做 http-server 的工具:

$ npm install -g http-server
$ http-server Downloads -a localhost -p 8080
Starting up http-server, serving Downloads on port: 8080
Hit CTRL-C to stop the server

在Python中,有以下几种方法:

  • Python 3: 你可以用 python -m http.server --bind 127.0.0.1 8080 来启动一个服务器。
  • Python 2: 你可以用 python -m SimpleHTTPServer 8080 来启动一个服务器。

需要注意的是,Python 2 没有 --bind 这个选项,所以它会允许所有的连接(不仅仅是来自 localhost 的连接)。

96
python3 -m http.server

或者如果你不想使用默认的8000端口

python3 -m http.server 3333

或者如果你只想允许本地连接

python3 -m http.server --bind 127.0.0.1

查看文档


相应的Python 2命令是

python -m SimpleHTTPServer

python -m SimpleHTTPServer 3333

没有--bind选项。

查看Python 2文档

撰写回答