web服务器端技术有哪些(web服务器端软件有哪些)

web服务器端技术有哪些(web服务器端软件有哪些)

众所周知,Web 服务器是 Web 开发中不可或缺的基础服务,在开发中经常会用到。耳熟能详的开源 Web 服务器有久负盛名的 Apache、性能强劲的 Nginx。而我们今天要介绍的开源项目是采用 Go 编写的 Web 服务端“后起之秀”:Caddy 它拥有下载无需安装就能用、零配置实现 服务器中占据了一席之地。

web服务器端技术有哪些(web服务器端软件有哪些)

在这个 万颗星。

web服务器端技术有哪些(web服务器端软件有哪些)

项目地址:github.com/caddyserver/caddy

一、为什么使用 Caddy ?Caddy 是一个强大的、可扩展的平台,可以为您的站点、服务和应用程序提供服务。

使用 Caddy 可以在 Linux、Mac、Windows 上快速部署 ) 站点或反向代理服务。支持:

语言快速开发扩展模块。

下面让我们上手把玩一番吧。

二、安装系统环境:Ubuntu 20.04 LTS

Caddy 可以作为一个系统服务安装,命令:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-web服务器端技术有哪些(web服务器端软件有哪些)

注意:这种方式安装完成后会启动服务,开机自动启动。

还可以下载一个可执行文件使用。

web服务器端技术有哪些(web服务器端软件有哪些)

下载地址: 按钮即可下载好的文件不能够直接运行,需要为其添加权限web服务器端技术有哪些(web服务器端软件有哪些)

命令行执行 caddy version 命令,出现版本信息:

v2.4.6 h1:HGkGICFGvyrodcqOOclHKfvJC0qTU7vny/7FhYp9hNw=即为安装成功!

三、从零完成 站点web服务器端技术有哪些(web服务器端软件有哪些)

下面将演示如何通过 Caddy 完成 步:

Tips 例子用的域名为:caddy.hellogithub.com 修改为你的域名即可。

第一步:安装,采用上面介绍的命令安装

第二步:设置域名解析地址,在购买域名的网站设置。如下图:

web服务器端技术有哪些(web服务器端软件有哪些)

设置完生效需要几分钟,可通过下面的命令检查是否生效:

curl ";域名设置生效,返回如下:

{"Status":0,"TC":false,"RD":true,"RA":true,"AD":false,"CD":false,"Question":[{"name":"caddy.hellogithub.com","type":1}],"Answer":[{"name":"caddy.hellogithub.com","type":1,"TTL":592,"data":"107.150.122.176"}]}第三步:创建配置文件 Caddyfile,无需额外的开启 的设置:

caddy.hellogithub.comrespond "Hello

web服务器端技术有哪些(web服务器端软件有哪些)

Caddy 默认使用执行命令目录下的 Caddyfile 文件内的配置。

最后,访问 caddy.hellogithub.com 检验效果吧!

web服务器端技术有哪些(web服务器端软件有哪些)

四、上手教程这里将从 Caddy 常用命令开始,再到配置讲解,最后会通过一个实际案例来展示如何用 Caddy 配置网站和上线。

4.1 常用命令web服务器端技术有哪些(web服务器端软件有哪些)

4.2 配置文件Caddy 的原生配置文件使用的是 JSON 格式。但是为了用户编写方便它提供了 Caddyfile 作为接口让用户可以快速配置站点信息,运行时 Caddy 会自动将 Caddyfile 的配置信息转为 JSON 配置文件。

Caddyfile 所能提供功能不如 JSON 配置文件强大,但是对于不需要复杂配置的用户而言完全够用了。

Caddyfile 的配置指令格式如下:

directive [matcher] args… { # matcher 代表匹配器,如果提供则该指令将只对 matcher 描述的资源进行响应subdirective [args…]# 子指令}Caddyfile 的文件结构如图所示:

web服务器端技术有哪些(web服务器端软件有哪些)

4.3 演示下面将演示如何用 Caddy 搭建站点,加深理解配置格式和命令使用。

目录结构:

.├── Caddyfile├── index.html└── public └── HG.html两个页面文件 index.html 和 HG.html 的内容如下:

!– index.html –!DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" titleHello World!/title/headbody 你好,世界!/body/html!– HG.html –!DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" titleHelloGitHub/title/headbody HelloGitHub/body/htmlCaddyfile 配置内容如下:

# 如果本机没有 wordpress 则注释这一块儿的站点配置#:80 { # 部署一个 wordpress 站点#root * /var/# 配置一个文件服务#}/}在当前目录输入:

$ caddy run # 启动 Caddy最后,效果如下:

访问: 服务器管理自动化、集成发布等高级功能。

web服务器端技术有哪些(web服务器端软件有哪些)

提供的接口和功能:

POST /load 设置或替换活动配置POST /stop 停止活动配置并退出进程GET /config/[path] 导出指定路径的配置POST /config/[path] 设置或替换对象;追加到数组PUT /config/[path] 创建新对象或插入数组PATCH /config/[path] 替换现有对象或数组元素DELETE /config/[path] 删除指定路径的值在 JSON 中使用@id 轻松遍历配置结构GET /reverse_proxy/upstreams 返回配置的代理上游的当前状态由于篇幅问题这里就不再进行演示了,如果您想深入了解可以阅读 Caddy 的官方文档。

五、总结看到这里你应该对 Caddy 有了一些了解,有没有一种相见恨晚的感觉?

虽然它的性能比不了 Nginx,但如果论上手的难易度 Caddy 甩 Nginx 几条街!主要是默认开启 。

最后,如果你想搭建个静态博客或小站,快去试试 Caddy 吧!香不香只有“吃”过才知道~

这里是 HelloGitHub 推出的《讲解开源项目》系列,为您叩开开源项目的大门。

(0)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 ZLME@ZLME.COM 举报,一经查实,立刻删除。

相关推荐