A web server is a server-side application designed to process HTTP requests between client and server. HTTP is the basic and very widely used network protocol.
Apache HTTP Server 在设计今天的网络中发挥了重要作用。它独占市场份额的 37.3%。在列表中,Nginx 排名第二,市场份额为 32.4%。Microsoft IIS 和 LiteSpeed 分别排在第三和第四位,市场份额分别为 7.8% 和 6.9%。
最近,我遇到了一个名为 Caddy 的 Web 服务器。当我尝试了解它的特点并进行测试部署时,我必须说它非常棒。这是一个便携式的 Web 服务器,不需要任何配置文件。我觉得这是一个非常酷的项目,想要与你分享。我们来试试 Caddy 吧!
Caddy 是什么?
Caddy 是一个替代 apache web 服务器,易于配置和使用。Caddy 的项目负责人 Matthew Holt 声称 Caddy 是一个通用的 Web 服务器,专为人类设计,可能是唯一的一种。
Caddy 是第一个能够使用 Let’s Encrypt 自动获取和更新 SSL/TLS 证书的 Web 服务器。
Caddy 的特点
- 使用 HTTP/2 进行快速的 HTTP 请求。
- 功能强大的 Web 服务器,配置最少,部署无忧。
- TLS 加密确保了在互联网上通信的应用程序和用户之间的加密。您可以使用自己的密钥和证书。
- 易于部署/使用。只需一个单一文件,不依赖于任何平台。
- 无需安装。
- 可移植的可执行文件。
- 可在多个 CPU/核心上运行。
- 先进的 WebSockets 技术 – 浏览器和服务器之间的交互式通信会话。
- 即时在服务器上解析 Markdown 文档。
- 全面支持最新的 IPv6。
- 以自定义格式创建日志。
- 提供 FastCGI、反向代理、重写和重定向、清理 URL、Gzip 压缩、目录浏览、虚拟主机和标头服务。
- 适用于所有已知平台 – Windows、Linux、BSD、Mac、Android。
是什么让 caddy 与众不同?
- Caddy 的目标是在 2020 年以及不是传统的风格中为网络服务。
- 它的设计不仅是为了处理 HTTP 请求,还是为了人类服务。
- 装载了最新的功能 – HTTP/2、IPv6、Markdown、WebSockets、FastCGI、模板和其他开箱即用的功能。
- 无需安装即可运行可执行文件。
- 详细的文档,提供最少的技术描述。
- 开发时考虑到设计师、开发人员和博客作者的需求和易用性。
- 支持虚拟主机 – 定义尽可能多的站点。
- 无论您的站点是静态的还是动态的,都适合您。如果您是人类,那就适合您。
- 您专注于实现目标,而不是如何实现它。
- 支持大多数平台 – Windows、Linux、Mac、Android、BSD。
- 通常,每个站点都有一个 Caddy 文件。
- 在不到1分钟的时间内设置,即使您对计算机不是很了解。
测试环境
I will be testing it on the CentOS server, as well as Debian Server, but the same instructions also work on RHEL and Debian based distributions. For both the server I am going to use 64-bit executables.
Operating Systems: CentOS 8 and Debian 10 Buster Caddy Version: v2.0.0
在Linux中安装Caddy Web服务器
无论您使用何种平台和架构,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的欢迎页面。
http://Server-IP OR http://yourdomain.com

使用Caddy设置域名
要设置域名,首先需要在您的DNS控制面板中将您的域的A/AAAA DNS记录指向该服务器。接下来,在文件夹/var/www/html
下创建一个网站的文档根目录"example.com"
,如下所示。
$ mkdir /var/www/html/example.com
如果您正在使用SELinux,则需要更改Web内容的文件安全上下文。/etc/caddy/Caddyfile
。
# 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/example.com
。

重新加载Caddy服务以保存配置更改。
# systemctl reload caddy
现在创建任何HTML页面(您可以创建自己的页面),并将页面保存在您网站的文档根目录下。
# touch /var/www/html/example.com/index.html
将以下示例Html代码添加到您网站的索引页面。
# echo '<!doctype html><head><title>Caddy Test Page at TecMint</title></head><body><h1>Hello, World!</h1></body></html>' | sudo tee /var/www/html/index.html
现在再次访问您的网站以查看您的页面。

如果一切配置正确,您的域名将通过HTTPS协议提供服务,表示您的连接是安全的。
结论
如果您是新手,并且想要设置一个不需要通过配置来准备的web服务器,那么这个工具就是为您准备的。即使您是一个经验丰富的用户,如果您需要一个快速且简单的web服务器Caddy也值得一试。通过一点配置,您还可以设置文件夹权限、控制身份验证、错误页面、Gzip、HTTP重定向和其他功能,如果您需要设置一个更复杂和先进的web服务器。
不要将Caddy视为Apache或Nginx的替代品。Caddy并不是设计用来处理高流量的生产环境。它的设计目标是在您关注速度和可靠性时快速设置web服务器。
参考
Caddy Web服务器的完整用户指南/完整文档。
我们带来了这份文件,旨在快速查看和安装说明,必要时配有图片。如果您在项目中遇到任何优缺点或建议,可以在我们的评论部分提出。
对我来说,这个项目还太年轻,但运行无误,看起来功能强大且有前途。我看到的最大优点是 Caddy 不需要随处携带其配置文件。它旨在提供 Nginx、Lighttpd、Vagrant 和 Websocketd 的最佳功能。这就是我所能说的了。继续关注 Tecmint。干杯
Source:
https://www.tecmint.com/install-caddy-web-server-in-centos-ubuntu/