关于macos:UNIX / MacOSX上的静态文件的“Ad-hoc webserver”?

“Ad-hoc webserver” for static files on UNIX/MacOSX?

有没有一个很小的webserver这样的东西,我可以从命令行调用它,从本地文件系统获取文件,并通过特定端口上的HTTP为它们提供服务?

我想做点类似的事情:

1
2
$ cd ~/Sites/mysite
$ serve . 10.0.1.1 8080

这应该启动一个在10.0.1.1:8080上监听并从当前目录(".")提供文件的Web服务器——不需要php、asp或任何需要的文件。

任何建议都非常感谢。


如果安装了python:

1
2
$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...


$ python -m SimpleHTTPServer [port]

将在当前目录中启动Web服务器,以提供在其中找到的任何文件。

在一些情况下,这将不能很好地工作,例如服务器是单线程的(因此没有同时下载),并且不能处理字节范围请求(客户机期望范围:支持经常失败)。


python3可以使用http.server通过http服务当前目录:

1
$ python3 -m http.server

在哪里?

  • python3当前版本的python
  • -m代表模块
  • httpHTTP包
  • (HTTP包的)服务器模块

默认情况下,http.server在端口8000上侦听,但您可以这样指定另一个端口:

1
$ python3 -m http.server 8080

ApacheHTTPD内置于MacOSX中,只需在"共享首选项"中打开"Web共享"。

为了使它也能在端口8080上工作,您需要添加一些配置。请参阅有关ServerFault的这篇文章以了解起点。