是否有一个小小的网络服务器,我可以从命令行调用,只从本地文件系统获取文件并通过特定端口上的HTTP提供它们?
我希望能够做到这样的事情:
$ cd ~/Sites/mysite
$ serve . 10.0.1.1 8080
这应该启动一个侦听10.0.1.1:8080的网络服务器,并提供当前目录(“。”)中的文件 - 没有PHP,ASP或任何所需的文件。
任何建议都非常感谢。
答案 0 :(得分:71)
如果安装了python:
$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...
答案 1 :(得分:5)
$ python -m SimpleHTTPServer [port]
将在当前目录中启动一个Web服务器,为其中的任何文件提供服务。
在少数情况下,这将无法正常工作,例如服务器是单线程的(因此没有同时下载)并且不处理字节范围请求(客户期望Range:支持通常会严重失败)。
答案 2 :(得分:2)
Apache HTTPD内置于Mac OS X中 - 只需在“共享首选项”中打开“Web共享”。
要使它也可以通过端口8080工作,您需要添加一些配置。请参阅此article on Serverfault了解起点。
答案 3 :(得分:2)
Python3可以使用http.server通过HTTP提供当前目录:
$ python3 -m http.server
其中
python3
当前版本的python -m
代表模块http
http包http.server
服务器模块(http包的)默认情况下,http.server侦听端口8000,但您可以像这样指定另一个:
$ python3 -m http.server 8080