48

我正在寻找一个可以在 shell 中启动并让它服务于当前目录(最好不是 ..)的死简单 bin,可能带有-p用于指定端口的。因为它应该是一个开发服务器,所以默认情况下它应该只允许来自本地主机的连接,也许可以选择另外指定。越简单越好。

不确定在此处使用哪些标签。

4

4 回答 4

82
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 文档

于 2013-03-10T22:55:44.060 回答
15

对于节点,有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有:

  • 蟒蛇 3python -m http.server --bind 127.0.0.1 8080
  • 蟒蛇2python -m SimpleHTTPServer 8080

请注意,Python 2 没有--bind选项,因此它将允许所有连接(不仅仅是 from localhost)。

于 2013-03-10T22:46:16.207 回答
3

有 Perl 应用程序App::HTTPThis或者我经常使用小型Mojolicious服务器来执行此操作。看我不久前的博文

制作一个名为 say 的文件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​​.

应该可以工作,如果需要,您可以调整脚本。

于 2013-03-10T22:44:41.903 回答
1

使用扭曲的网络

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

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

于 2013-11-07T17:58:43.493 回答