caddy -- go 语言的轻量 web server

大号传送门:https://github.com/mholt/caddy/

Caddy 是一个基于go语言写的 跨平台的轻量级 webserver, 它的功能强大配置却非常简单,部署也很方便(就一个文件,粘过来就能用了..)

逛一下官网, 发现它支持的东西还真不少, HTTP/S/2, Gzip, IPv6, Markdown, WebSockets, FastCGI, templates ,Virtual Hosts, ... 看来这家伙的定位 是一个生产环境级别的webserver . 而不是像 python 的 simpleHTTPServer 或者 node 的 http-server 那种仅仅是为了开发使用的简易的工具.

官网:https://caddyserver.com/

首先下载适合你当前os版本的caddy. 这里可以只选择自己想要的功能,他会帮你动态编译一个定制的版本..

下载解压完后你会发现,他竟然只有一个文件 ... (go语言天生的 all in one 特质)

cd到当前目录,直接运行它,在命令行里输入:

caddy
#->Activating privacy features... done.
#->http://:2015

此时你的 webserver 就已经启动在2015端口了..(为撒子是 2015 ,这种纪念方式好特别...)

但是直接访问 http://localhost:2015 ,会得到一个 404....

这是因为咱们还没有进行任何配置.

我们马上开始.

caddyfile

我们先创建一个caddyfile 作为他的配置文件.

下面就是我们的caddyfile:

localhost:8080
gzip
browse
log access.log

然后我们输入

caddy -conf="../path/to/caddyfile"

这时我们再访问 http://localhost:8080 . 我们会看到当前目录的文件和文件夹信息已经被list出来了...

告别繁琐配置,一行启动。

caddy 还提供了一种 Command Line 方式,让我们不需要指定和创建 caddyfile 文件就可以启动 webserver:

caddy -port 8080 browse markdown "log access.log"  #日志打印在access.log文件里

caddy -port 8080 browse markdown "log stdout" #日志直接打印在控制台

这样一行就搞定. 在8080端口启动webserver

其他具体的参数 可以去这个传送门查询 https://caddyserver.com/docs/cli

做一个简单的simpleHTTPServer

通过启动脚本,我们可以把caddy包装成一个类似 python simpleHTTPServer 的功能.

ser.bat

@echo off
if "%1"=="" (
    caddy -port 8080  browse "log stdout"
)else (
    caddy -port %1  browse "log stdout"
)

ser.sh

if [ "$1" = "" ]; then  
    caddy -port 8080  browse "log stdout"
else  
    caddy -port $1  browse "log stdout"
fi 
留言:

称呼:*

邮件:

网站:

内容: