简单文件服务器为当前目录服务

时间:2013-03-10 22:42:22

标签: python ruby perl node.js shell

我正在寻找一个死的简单bin,我可以在shell中启动并让它服务于当前目录(最好不是..),可能有一个-p来指定端口。因为它应该是一个开发服务器,它应该默认只允许来自localhost的连接,可能有一个选项来指定其他方式。越简单越好。

不确定在这里使用哪些标签。

4 个答案:

答案 0 :(得分:46)

python3 -m http.server

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

python3 -m http.server 3333

或者如果您只想允许来自localhost的连接

python3 -m http.server --bind 127.0.0.1

请参阅docs


等效的Python 2命令是

python -m SimpleHTTPServer

python -m SimpleHTTPServer 3333

没有--bind选项。

请参阅Python 2 docs


如果您的服务器文件没有更改,一旦您编辑并保存它们,请在您的python控制台中键入refresh。这将更新服务器提供的文件和最新的文件。

答案 1 :(得分:11)

对于Node,有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)。

答案 2 :(得分:3)

有Perl应用App::HTTPThis或我经常使用一个小Mojolicious服务器来执行此操作。不久前见我的blog post

制作名为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

应该有效,如果需要,你可以调整脚本。

答案 3 :(得分:1)

使用Twisted Web

twistd --pidfile= -n web --path .  --port 8080

--pidfile=禁用PID文件。没有它,将在当前目录中创建twistd.pid文件。您也可以使用--pidfile ''