Docker 运行带PHP的Caddy

Caddy是一个使用 Go语言写的 HTTP Server,上手非常简单,并且 Caddy支持 自动签订Let’s Encrypt SSL证书,只需要提供一个邮箱,剩下的他会自己申请、配置和续约 SSL证书!。这里用Docker来运行是因为可以直接运行集成PHP的docker分支,运行一些小的php应用非常方便。


docker run -d \
--name=caddy \
--restart=always \
-e ACME_AGREE=true \
-v /home/caddy/Caddyfile:/etc/Caddyfile \
-v /home/caddy/.caddy:/root/.caddy \
-v /home/caddy/www:/srv \
-p 80:80 -p 443:443 -p 2015:2015 \
abiosoft/caddy:php

Caddyfile 配置文件路径: /home/caddy/Caddyfile;

SSL证书存放路径:/home/caddy/.caddy;

网站程序存放路径/home/caddy/www,映射到Docker里的/srv,可以在此目录下建立子目录,Caddyfile文件里根据不同域名指定不同的子目录,建立多站点。

Caddyfile示例:


example.com {
gzip
root /srv
fastcgi / 127.0.0.1:9000 php # php variant only
on startup php-fpm7 # php variant only
}