Python的http。server(或SimpleHTTPServer for Python 2)是一个从命令行提供当前目录内容的好方法:

python -m http.server

然而,就网络服务器而言,它是非常缓慢的…

它的行为就像它是单线程的,并且在使用RequireJS加载JavaScript AMD模块时偶尔会导致超时错误。加载一个没有图像的简单页面可能需要5到10秒钟。

还有什么更快更方便的选择吗?


当前回答

我推荐:Twisted (http://twistedmatrix.com)

一个事件驱动的网络引擎,用Python编写,使用开源MIT许可。

它是跨平台的,预装在OS X 10.5到10.12上。除此之外,你可以在当前目录中启动一个简单的web服务器:

twistd -no web --path=.

细节

选项说明(参见twistd -help了解更多):

-n, --nodaemon       don't daemonize, don't use default umask of 0077
-o, --no_save        do not save state on shutdown

“web”是一个命令,在Twisted异步引擎上运行一个简单的web服务器。它还接受命令行选项(在“web”命令之后-参见twistd web -help了解更多):

  --path=             <path> is either a specific file or a directory to be
                      set as the root of the web server. Use this if you
                      have a directory full of HTML, cgi, php3, epy, or rpy
                      files or any other files that you want to be served up
                      raw.

还有一堆其他命令,如:

conch            A Conch SSH service.
dns              A domain name server.
ftp              An FTP server.
inetd            An inetd(8) replacement.
mail             An email service
... etc

安装

Ubuntu

sudo apt-get install python-twisted-web (or python-twisted for the full engine)

Mac OS-X(预安装在10.5 - 10.12,或在MacPorts和通过Pip)

sudo port install py-twisted

窗户

installer available for download at http://twistedmatrix.com/

HTTPS

Twisted还可以使用安全证书对连接进行加密。将其与现有的——path和——port(用于普通HTTP)选项一起使用。

twistd -no web -c cert.pem -k privkey.pem --https=4433

其他回答

也可以考虑devd是一个用go编写的小型web服务器。这里提供了许多平台的二进制文件。

devd -ol path/to/files/to/serve

它体积小,速度快,并提供了一些有趣的可选功能,如当文件更改时实时重新加载。

尝试webfs,它很小,不依赖于安装node.js或python这样的平台。

使用Servez作为服务器

下载Servez 安装,运行 选择要服务的文件夹 选择“开始” 访问http://localhost:8080或选择“启动浏览器”

注:我之所以把这些放在一起,是因为Chrome将不再支持应用程序,而且我支持那些对命令行没有任何经验的艺术学生

我找到了python -m http。服务器不可靠——某些响应需要几秒钟。

现在我使用一个名为Ran https://github.com/m3ng9i/ran的服务器

Ran:一个用Go语言编写的简单静态web服务器

如果你安装了PHP,你可以使用内置服务器。

php -S 0:8080