UNIX / MacOSX上的静态文件的“Ad-hocnetworking服务器”?

有没有这样一个小小的networking服务器,我可以从命令行调用,只是从本地文件系统获取文件,并通过特定的端口上的HTTP服务他们?

我希望能够做到这样的事情:

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

这应该启动一个networking服务器,监听10.0.1.1:8080,并提供当前目录(“。”)的文件 – 没有PHP,ASP或任何需要。

任何build议不胜感激。

如果你安装了python:

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

$ python -m SimpleHTTPServer [port]

将在当前目录中启动一个networking服务器,提供在那里find的任何文件。

在一些情况下,这将不会很好,例如服务器是单线程的(所以不能同时下载),并且不处理字节范围请求(期望Range:支持的客户通常不好)。

Apache HTTPD内置于Mac OS X中 – 只需在“共享首选项”中打开“Web共享”即可。

为了使它也可以通过端口8080工作,你需要添加一些configuration。 请参阅Serverfault上的这篇文章以作为起点。

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

 $ python3 -m http.server 

哪里

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

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

 $ python3 -m http.server 8080