为当前目录提供服务的简单文件服务器[关闭]

Posted

技术标签:

【中文标题】为当前目录提供服务的简单文件服务器[关闭]【英文标题】:Simple file server to serve current directory [closed] 【发布时间】:2013-02-26 00:59:45 【问题描述】:

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

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

【问题讨论】:

你应该把它发到serverfault.com 上。 红宝石解决方案:***.com/questions/3108395/… 关于“程序员常用的软件工具”的问题是话题。当您进行 Web 开发(甚至现在其他类型的开发)时,您最终需要通过 HTTP 访问本地文件。也许这仍然是题外话,因为它要求提供工具推荐,但我不同意给出的关闭原因。 【参考方案1】:

有一个 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

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

【讨论】:

我不喜欢用管道进入外壳。 好的,然后通过 cpan 安装:cpan -i Mojolicious 或通过 apt(虽然它可能有点旧。这只是一个快速安装脚本 :-) Mojolicious 应用程序的单行版本是:perl -Mojo -E 'a->static->paths(["."]);a->start' daemon 不起作用。我看不到任何目录。我收到一个带有 mojo 的错误页面。我错过了什么?【参考方案2】:

对于 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 3python -m http.server --bind 127.0.0.1 8080 Python 2python -m SimpleHTTPServer 8080

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

【讨论】:

我也想查看文件夹和目录的数量【参考方案3】:
python3 -m http.server

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

python3 -m http.server 3333

或者如果您只想允许来自本地主机的连接

python3 -m http.server --bind 127.0.0.1

请参阅docs。


等效的 Python 2 命令是

python -m SimpleHTTPServer

python -m SimpleHTTPServer 3333

没有--bind 选项。

请参阅Python 2 docs。

【讨论】:

还有一个目录参数以防您不想要当前目录:python3 -m http.server -d /path/to/web/dir【参考方案4】:

使用Twisted Web:

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

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

【讨论】:

以上是关于为当前目录提供服务的简单文件服务器[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

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

python 用于当前目录中文件的简单Web服务器

在 htdocs 文件夹之外制作 XAMPP / Apache 服务文件 [关闭]

在 htdocs 文件夹之外制作 XAMPP / Apache 服务文件 [关闭]

最简单的方式创建node.js 静态服务器

UTL