通过终端命令行和Python 创建即时Web 服务器

目录:

Anonim

想要快速共享文件、测试代码或广播内容?您可以立即从当前目录创建一个 Web 服务器,只使用 python,是的,没有 apache,没有 nginx,没有 litespeed,所有 python,现在几乎每个 unix 变体都附带了它。考虑到它的实用性,该命令非常简单,您可以打开终端窗口和任何 Web 浏览器自行测试。

这个技巧只用python立即启动一个简单的网络服务器,它适用于Mac OS X、Linux、FreeBSD和任何其他有python的unix平台。

如何使用Python启动即时Web服务器

要从命令行创建即时Web 服务器,请在您希望通过浏览器和HTTP 访问的目录中键入以下内容:

在Python 2中启动一个简单的Web服务器

python -m SimpleHTTPServer

在Python 3中启动简单的Web服务器

python -m http.server

这将立即将当前目录发布为网络服务器,因此如果您有一个将立即显示的index.html 文件,否则它只会列出您的本地主机IP 或“ 0。0.0.0”。请注意,端口 8000 是此功能的默认端口设置,这意味着从浏览器访问 Web 服务器需要输入以下地址:http://0.0.0.0:8000

记住,如果目录中没有index.htm 或index.html 文件,浏览器将显示一个简单的CWD/PWD 目录列表。

一旦运行,终端将随着页面和数据从python web服务器加载而更新,显示标准的http日志记录信息,如GET和PUSH请求,哪些文件正在访问以及由谁访问,404错误, IP 地址、日期、时间以及标准 http 日志中的所有内容,就像跟踪 apache 访问日志文件一样。

如果你愿意并指定一个端口,你可以变得更有趣,如果你希望只向特定的个人广播一些东西,或者如果你只是不不希望它出现在标准的 8000 portscan 上。您需要做的就是在上述命令的末尾指定一个端口号,如下所示:

python -m SimpleHTTPServer 4104

这将使Web 服务器在IP 端口4104 的当前目录中启动,例如让我们假设本地主机IP:http://127.0.0.1:4104,或http:// 0.0.0.0:4104 取决于您的设置。

如果您正在进行一些快速的网络开发并希望立即在浏览器中检查它或将其展示给其他人,并且您不想花时间sftp 或将其提交到存储库。这应该适用于任何 unix 变体操作系统,包括 FreeBSD、Linux、Ubuntu、Redhat,当然也包括 Mac OS X。

下面的视频演示了一个python服务器在一个目录中启动,其中包含一个简单的index.html文件,它还展示了正在运行的python命令如何像普通的http服务器一样反映http连接的情况日志将:

如果您发现这个伟大的小技巧有任何特别有价值的用途或其他秘密,请告诉我们。

通过终端命令行和Python 创建即时Web 服务器