如何在Linux服务器上使用Caddy部署HTTPS网站

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

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服务器。

  1. # dnf install 'dnf-command(copr)' 

 

  1. # dnf copr enable @caddy/caddy 

 

  1. # dnf install caddy 

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

  1. # yum install yum-plugin-copr  
  2. # yum copr enable @caddy/caddy  
  3. # yum install caddy 

在Debian和Ubuntu中安装Caddy 

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

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

  1. # systemctl start caddy  
  2. # systemctl enable caddy  
  3. # systemctl status caddy 

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

https://www.linuxmi.com

使用Caddy设置域

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

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

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

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

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

  1. # vim /etc/caddy/Caddyfile 

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

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

  1. # systemctl reload caddy 

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

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

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

  1. [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 
  2. <!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服务器。 

 

责任编辑:庞桂玉 来源: Linux公社
相关推荐

2022-01-12 08:49:33

CaddyWeb服务器Go语言

2010-05-17 11:08:46

IIS服务器

2022-07-18 10:15:14

文件传输协议TFTPLinux

2009-07-15 09:42:46

2022-08-24 08:33:27

Git系统Linux

2024-02-04 00:00:01

Caddy2PHP服务器

2018-08-31 09:51:37

2014-09-22 09:52:06

2016-03-30 10:33:30

Linux服务器管理Cockpit

2020-03-02 18:16:12

FedoraLinuxMongoDB

2015-12-25 14:30:47

LinuxISC DHCP服务器

2017-03-21 11:12:22

LinuxAmazon AWS服务器

2023-05-24 11:56:06

RHEL 9DHCP服务器

2013-07-29 13:49:23

UbuntuLAMP服务器

2015-08-04 13:29:06

Fedoralinux

2023-05-05 16:20:15

2015-12-11 13:16:10

CentOS 7Redis服务器

2021-09-16 07:52:18

FTP服务器Linux

2021-08-03 14:33:53

cron定时器Linux命令

2012-12-31 10:54:09

LinuxNFS
点赞
收藏

51CTO技术栈公众号