一行命令实现HTTP服务~

有时候我们需要快速建立一个HTTP服务,用于浏览文件和目录,使用Nginx需要搭建环境和配置文件还要写代码,太慢了。使用Python可以满足需求。不需要写任何代码,只需要电脑有Python就OK了。

假设我们需要共享home目录,使用Python快速启动文件服务的命令如下:

1
2
$cd ~
$python3 -m http.server 8080

8080是HTTP服务的端口,可自行指定。服务启动后会监听如下地址

Serving HTTP on 0.0.0.0 port 8080 …

打开浏览器http://localhost:8080即可浏览home目录下的文件,可以下载文件。如果当前目录下有index.html文件,HTTP服务回发送该文件到浏览器,浏览器会解析该HTML文件。这是我们浏览到的并不是目录列表。

上面的命令针对Python3,Python2的命令如下:

1
2
$cd ~
$python -m SimpleHTTPServer 8080

如果我们对该文件服务的并发性能要求较高,建议使用Golang,几行代码就能解决。

1
2
3
4
5
6
7
8
9
10
11
12
13
package main

import (
"net/http"
"os"
)

func main() {
port := os.Args[1]
address := ":" + port
h := http.FileServer(http.Dir("."))
http.ListenAndServe(address, h)
}

转载请包括本文地址:https://allenwind.github.io/blog/3283
更多文章请参考:https://allenwind.github.io/blog/archives/