caddy介绍
常用的Web服务器有IIS,Apache,Jboss,Nginx,Lighttpd,Zeus,Resin,Jetty,BEA WebLogic,还有一种就是最常用的Tomcat。
现在新介绍一种服务器,试用了一下Caddy,使用起来比Nginx优雅,基于Go语言开发。
caddy特性
- 对比Nginx复杂的配置,其独创的Caddyfile配置非常简单;
- 可以通过其提供的Admin API实现动态修改配置;
- 默认支持自动化HTTPS配置,能自动申请HTTPS证书并进行配置;
- 能够扩展到数以万计的站点;
- 可以在任意地方执行,没有额外的依赖;
- 采用Go语言编写,内存安全更有保证()。、
常用特性:Caddyfile配置简单,动态修改配置的
caddy安装
Caddy安装可以使用dnf直接在宿主机上安装,或者基于Docker在docker中进行配置使用。
宿主机安装
使用DNF工具安装无疑是最简单的,Docker安装方式之后也会介绍。
- 使用如下命令通过yum安装Caddy,安装成功后Caddy会被注册成系统服务;
1
2
3yum install yum-plugin-copr
yum copr enable @caddy/caddy
yum install caddy - 使用systemctl status caddy查看Caddy的状态,可以发现Caddy已被注册为系统服务,但是还没开启。
使用docker安装
下载镜像:
1
docker pull caddy
创建Caddyfile和挂载存放数据和静态资源的目录
1 | 配置文件: Caddyfile |
- 创建容器,运行caddy
1
2
3
4
5docker run -p 80:80 -p 443:443 --name caddy \
-v /usr/local/docker/config/caddy/Caddyfile:/etc/caddy/Caddyfile \
-v /usr/local/docker/config/caddy/data:/data \
-v /usr/local/docker/config/caddy/html:/usr/share/caddy \
-d caddy
docker run -p 80:80 -p 443:443 –name caddy -v /usr/local/docker/config/caddy/Caddyfile:/etc/caddy/Caddyfile -v /usr/local/docker/config/caddy/data:/data -v /usr/local/docker/config/caddy/html:/usr/share/caddy -d caddy
- 之后使用docker exec进入caddy容器内部执行命令
1 | docker exec -it caddy /bin/sh |
输入Caddy命令即可操作,之后的操作就和我们直接在CentOS上安装一样了。
caddy配置&使用&实现静态代理和反向代理
实现静态站点代理
1 | # gzip 压缩指令 |
条评论