简单的文件服务器以提供当前目录
我想找一个超级简单的工具,可以在命令行里启动,让它服务于当前的文件夹(最好不是上级文件夹),还希望能加个 -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文档。