我正在寻找一个死的简单bin,我可以在shell中启动并让它服务于当前目录(最好不是..),可能有一个-p
来指定端口。因为它应该是一个开发服务器,它应该默认只允许来自localhost的连接,可能有一个选项来指定其他方式。越简单越好。
不确定在这里使用哪些标签。
答案 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 -m http.server --bind 127.0.0.1 8080
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 ''
。