caddy支持 HTTP/2 的Web服务器据说比nginx简单强大

Web环境 服务器租用 1年前 (2017-03-22) 2973次浏览 0个评论 扫描二维码

caddy 支持 HTTP/2 的 Web 服务器据说比 nginx 简单强大

caddy 支持 HTTP/2 的 Web 服务器据说比 nginx 简单强大

今天服务器租用网为大家分享款 web 环境“caddy”据说这个 web服务器比比 nginx 简单强大,由于服务器租用网技术有限只能期待高手们分享一下关于caddy的配置文章了。接下来我们先了解下caddy与如何安装caddy的入门教程。

caddy 介绍:

caddy 是一款使用 Go 语言的简单易用的单文件网页服务器,原生支持 HTTP/2,自动创建 Let’s Encrypt 证书,支持反代、rewrite、git、REST API、ipfilter、jsonp 等,非常适合各种轻量级的网页应用,或者在本地电脑使用,无论是静态 HTML、图片,或者是 WordPress、Drupal、Markdown,统统都支持。

caddy 是一个像 Apache, nginx, 或 lighttpd 的 web服务器。 你要问 nginx 已经很好了,为什么要用caddy呢? 我觉得 caddy 最大的特点是用起来简单, 然后呢,它还有下面这些开箱即用的特性:

HTTP/2 全自动支持 HTTP/2 协议,无需任何配置。

Auto HTTPS Caddy 使用 Let’s Encrypt 让你的站点全自动变成全站 HTTPS,无需任何配置。当然你想使用自己的证书也是可以的。

Multi-core 因为 caddy 是 golang 写的,所以当然可以合理使用多核啦。

IPv6 完全支持 IPv6 环境.

WebSockets Caddy 对 WebSockets 有很好的支持.

Markdown 自动把 md 转成 HTML ,当然,我后续要给大家介绍更强大的 hugo 来干这个事情.

Logging Caddy 对 log 格式的定义很容易,更好的满足你日志收集的需求。

Easy Deployment 得益于 go 的特性,caddy 只是一个小小的二进制文件,没有依赖,很好部署。

那么在什么场景下适合尝试使用 caddy 呢,我推荐从以下场景开始:

作为静态页面的 webserver

转发 fastcgi 请求到 php-fpm 服务,比如替换 apache 或 nginx 作为 wordpress 的 server

反向代理,管理多个站点

微服务的 API gateway ,我会专门写一篇文章。

有些在 nginx 上难以开发的需求,为 caddy 写插件太方便了。

caddy 官网:

https://caddyserver.com/

入门

安装 caddy

下载 caddy

把 caddy 放到系统的 PATH 中,让其可以直接执行。比如 Linux 中一般习惯放到 /usr/local/bin

简单测试

找一个做测试的临时目录,生成一个测试主页。echo “hello world”>index.html

执行 caddy

在另一个终端 curl localhost:2015 或在浏览器访问 (http://localhost:2015)

Caddyfile

caddy 的一个特色就是配置简单,nginx 的配置文件群已经越看越晕了。我们来试试:

在当前目录创建这样一个叫 Caddyfile 的文件:

caddy 支持 HTTP/2 的 Web 服务器据说比 nginx 简单强大

这次,我们改变了端口,并且启用了 gzip 自动压缩数据。运行 caddy,去你指定的地址看看吧。

说一句,caddy 的潜规则是找当前目录叫 Caddyfile 的文件,你也可以用参数指定文件和路径。

更专业一点

我们随便说点高级功能,其实 caddy 的文档挺不错的,看文档就可以了解各种功能。

自动 HTTPS

如果你满足这些条件,你用 caddy 启动的应用将自动获得 HTTPS,不用你买证书了,这都是 Let’s Encrypt 的功劳。

host 那里要填一个域名,不能是 localhost 或 IP

不要用冒号手动指定端口

不要在域名前手动声明 http

没在配置里关掉 TLS 或者声明用自己的证书但是还没配好

caddy 有权限绑定 80 和 443 端口

前边都能懂,说下最后一条。在 init 文件夹的启动配置教程里都有,一般建议你用 www-data 用户启动服务, 你不是 root 但是 Linux 依然可以让你绑定 80 端口,只需要执行 setcap cap_net_bind_service=+ep caddy 。 具体看文档吧。

多站点

你可能想,之前用 nginx 主要是为了支持多站点,caddy 当然也是可以的,你只需要配置若干域名, 把每个域名的配置写在后边的大括号配置块里就行了。下一个例子里就有。

PHP or WordPress

据说全世界四分之一的站点都是 wordpress 搭建的,而 PHP 公认是世界上最好的语言。 caddy 还没有完全支持 unix socket 通讯呢,赶忙先把 PHP 支持了再说。

这是我自己博客的配置片段,我的荒芜的非技术博客依然用的 wordpress。 timeouts 关键字是我摸索出来的,官方示例没有,不设置这个国内升级插件什么的根本成功不了。 tls 其实用默认值是可以的,但是后台会有一堆落后的搜索引擎和爬虫报错,于是我调低了一点。 另外我还把 www 定向到了裸域名,大家一般都这样做,或者反过来。

caddy 支持 HTTP/2 的 Web 服务器据说比 nginx 简单强大

开机启动

因为大部分发行版目前还没办法直接安装 caddy,开机启动可能需要你自己动手啦。

在你下载的压缩包中有一个 init 文件夹,里边有 Mac,Linux,FreeBSD 的开机启动配置帮助, 还有示例脚本,可以根据你的要求再 DIY 一下。

caddy 下载地址:

https://caddyserver.com/download


服务器租用(www.fuwuqizuyong.cc) , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明:caddy 支持 HTTP/2 的 Web 服务器据说比 nginx 简单强大
服务器租用
喜欢 (1)
[]
分享 (0)
服务器租用
关于作者:
服务器租用专注为广大站长与网友朋友分享建站教程、SEO优化文章、网站模板资源、服务器软件(Web环境、建站程序)等,另外为大家推荐各种国内外服务器、香港服务器、虚拟主机、域名购买优惠信息与服务器相关知识。
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到