Caddy Web 服务器是一个开源的、支持 HTTP/2 的 Web 服务器,使用 Go 语言编写。Caddy 最显着的功能之一是自动为托管网站启用 TLS。Caddy 自动从 Let's Encrypt 获取和更新 TLS 证书。Caddy 也可以配置为反向代理服务器。

在本文中,将在 CentOS 8 中安装 Caddy Web 服务器并在 Caddy 上配置 HTTP网站。

Caddy有一下功能:

  • 支持 HTTP/1.1 和 HTTP/2
  • 自动配置HTTPS
  • 支持虚拟主机
  • IPv4和IPv6
  • 反向代理
  • 带健康检查的负载平衡
  • GZip压缩

环境信息

系统:Centos8

主机名: caddy.example.com

IP地址:192.168.43.131

安装Caddy Web服务器

使用下面​​命令​​安装caddy:

[root@caddy ~]# yum -y install 'dnf-command(copr)'
[root@caddy ~]# yum copr enable @caddy/caddy
[root@caddy ~]# yum -y install caddy

CentOS 8 安装 Caddy Web服务器_html

找到 Caddy Web 服务器的安装目录:

[root@caddy ~]# whereis caddy
caddy: /usr/bin/caddy /etc/caddy /usr/share/caddy

CentOS 8 安装 Caddy Web服务器_php_02

为 Caddy Web 服务器创建目录结构

下面为Caddy服务创建存放证书的目录:

www.pcpop.com/doc/4/4500/4500463.shtml

www.admin5.com/article/20170925/786547.shtml

www.51cto.com/it/news/2020/0416/20108.html

[root@caddy ~]# mkdir /etc/ssl/caddy
[root@caddy ~]# chown -R caddy:root /etc/ssl/caddy/
[root@caddy ~]# chmod o-rwx /etc/ssl/caddy/

启用caddy服务

[root@caddy ~]# systemctl enable caddy
Created symlink /etc/systemd/system/multi-user.target.wants/caddy.service → /usr/lib/systemd/system/caddy.service.
[root@caddy ~]# systemctl start caddy

CentOS 8 安装 Caddy Web服务器_php_03

在浏览器输入服务器ip地址,可访问默Caddy的默认页面。

CentOS 8 安装 Caddy Web服务器_html_04

在 Caddyfile 中创建一个服务器配置

在Caddyfile文件中创建一个简单的服务器配置:

[root@caddy ~]# vim /etc/caddy/Caddyfile 
:80 {
# Set this path to your site's directory.
root * /var/www/html

# Enable the static file server.
file_server

gzip
# Another common task is to set up a reverse proxy:
# reverse_proxy localhost:8080

# Or serve a PHP site through php-fpm:
# php_fastcgi localhost:9000
}

[root@caddy html]# echo "<h1>Hello World</h1>" > /var/www/html/index.html

CentOS 8 安装 Caddy Web服务器_html_05

重启一下caddy服务:

[root@localhost ~]# systemctl restart caddy

访问测试一下:

CentOS 8 安装 Caddy Web服务器_服务器_06

CentOS 8 安装 Caddy Web服务器_php_07

防火墙开启http:

[root@localhost ~]# firewall-cmd --permanent --add-service=http
success
[root@localhost ~]# firewall-cmd --reload
success

总结

如我们已经在 CentOS 8 上成功安装了 Caddy Web 服务器,并使用 Caddy 发布了 HTTP 网站。