Web服务器是服务器端应用程序,旨在处理客户端和服务器之间的HTTP请求。HTTP是最广泛使用的基本网络协议。

Apache HTTP Server在设计当今的网络中扮演了重要角色。它占有37.3%的市场份额。Nginx以32.4%的市场份额名列第二。微软IIS和LiteSpeed分别排名第三和第四,市场份额分别为7.8%和6.9%。

最近,我遇到了一个名为Caddy的Web服务器。当我尝试查询其功能并将其部署到测试中时,可以说很棒很棒。可移植的Web服务器,不需要任何配置文件。我认为这是一个非常酷的项目,并希望与您分享。在本文,我们与大家一起尝试下Caddy!

Caddy是什么?

Caddy是易于配置和使用的Apache Web服务器的替代产品。Caddy的项目负责人Matthew Holt声称Caddy是一种通用的网络服务器,声称是最人性化的设计,并且可能是唯一的此类服务器。

Caddy是唯一一个可以使用Let's Encrypt自动获取和更新SSL/TLS证书的Web服务器。

Caddy的特点

  • 使用HTTP/2的快速HTTP请求。
  • 具有最少配置和无忧部署的功能强大的Web服务器。
  • TLS加密可确保通过Internet进行通信的应用程序和用户之间的加密。您可以使用自己的密钥和证书。
  • 易于部署/使用。仅一个文件,不依赖任何平台。
  • 无需安装。
  • 便携式可执行文件。
  • 运行多个CPU /内核。
  • 先进的WebSockets技术–浏览器和服务器之间的交互式通信会话。
  • 服务器Markdown文档正在运行中。
  • 完全支持最新的IPv6。
  • 以自定义格式创建日志。
  • 服务FastCGI,反向代理,重写和重定向,干净URL,Gzip压缩,目录浏览,虚拟主机和标题。
  • 适用于所有已知平台– Windows,Linux,BSD,Mac,Android。

是什么让Caddy与众不同?

  • Caddy附带了最新功能-HTTP/2,IPv6,Markdown,WebSockets,FastCGI,模板和其他现成的功能。
  • 无需安装即可运行可执行文件。
  • 具有最少技术描述的详细文档。
  • 开发时会考虑设计师,开发人员和Blogger的需求并使其轻松入门。
  • 支持虚拟主机–定义任意数量的站点。
  • 适合您–无论您的站点是静态的还是动态的。如果您是人类,那是给您的。
  • 您专注于实现目标,而不是实现目标。
  • 支持大多数平台– Windows,Linux,Mac,Android,BSD。
  • 通常,每个站点有一个Caddy文件。
  • 即使您是初学者,也可以在不到1分钟的时间内完成设置。

测试环境

我将在CentOS服务器和Debian Server 上对其进行测试,但是相同的说明也适用于基于RHEL和Debian的发行版。对于这两个服务器,我将使用64位可执行文件。

操作系统:CentOS 8.1和Debian 10 Buster

Caddy版本:v2.1.1

在Linux中安装Caddy Web Server

不管您使用的是哪种平台和哪种体系结构,caddy都可以立即使用二进制软件包,可以使用所示的默认软件包管理器进行安装。

在Fedora,RedHat和CentOS中安装Caddy

我们将从Fedora或RHEL/CentOS 8下的CORP存储库中安装最新版本的Caddy Web服务器。

# dnf install 'dnf-command(copr)'

# dnf copr enable @caddy/caddy

# dnf install caddy

在RHEL/CentOS 7上,使用以下命令。

# yum install yum-plugin-copr
# yum copr enable @caddy/caddy
# yum install caddy

在Debian和Ubuntu中安装Caddy

$ echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \
| sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
$ sudo apt update
$ sudo apt install caddy

安装caddy Web服务器后,您可以使用以下systemctl命令启动,启用和检查服务状态。

# systemctl start caddy
# systemctl enable caddy
# systemctl status caddy

现在打开浏览器,将浏览器指向以下地址,您应该可以看到caddy欢迎页面。

https://www.linuxmi.com

使用Caddy设置域

要设置域,首先,您需要在DNS控制面板中将域的A/AAAA DNS记录指向此服务器。接下来,如图所示,"linuxmi.com"在文件夹下为您的网站创建文档根目录/var/www/html。

$ mkdir /var/www/html/linuxmi.com

如果使用的是SELinux,则需要更改Web内容的文件安全性上下文。

# chcon -t httpd_sys_content_t /var/www/html/example.com -R
# chcon -t httpd_sys_rw_content_t /var/www/html/example.com -R

现在,在打开并编辑Caddy配置文件/etc/caddy/Caddyfile。

# vim /etc/caddy/Caddyfile

替换:80为您的域名,然后将站点根目录更改/var/www/html/linuxmi.com为所示。

重新加载Caddy服务以保存配置更改。

# systemctl reload caddy

现在创建任何HTML页面(您可以创建自己的HTML页面),并将页面保存在网站的文档根目录下。

$ mkdir /var/www/html/linuxmi.com

将以下示例HTML代码添加到您网站的索引页面。

[root@localhost /home/linuxmi/www.linuxmi.com]$echo '<!doctype html><head><title>Caddy Test Page at LinuxMi.com</title></head><body><h1>Hello, World!</h1></body></html>' | sudo tee /var/www/html/linuxmi.com/index.html
<!doctype html><head><title>Caddy Test Page at LinuxMi.com</title></head><body><h1>Hello, World!</h1></body></html>

现在,再次访问您的站点以查看页面。

如果正确配置了所有内容,则将通过HTTPS协议为您的域提供服务,表明您的连接是安全的。

总结

如果您是新手,并且想要在不影响配置的情况下设置网络服务器,那么此工具非常适合您。即使您是经验丰富的用户,也需要即时且简单的Web服务器Caddy值得一试。只需进行一些配置,如果您需要设置更复杂和高级的Web服务器,则还可以设置文件夹权限,控制身份验证,错误页面,Gzip,HTTP重定向等。

不要将Caddy替代Apache或Nginx。Caddy并非设计用于处理高流量的生产环境。当您关注速度和可靠性时,它可用于快速设置Web服务器。

参考资料

Caddy 完整的用户指南/完整的文档见这里

我们分享此文档旨在在必要时快速查看和安装带有图像的说明。如果您有该项目的任何建议,可以在Linux迷的评论部分中留言给我们。

对我来说,这个项目还太年轻,但仍然可以完美地工作,而且似乎很强大,很有前途。

发表评论

电子邮件地址不会被公开。 必填项已用*标注