在这个项目中,我们将向您展示如何设置树莓派 Caddy Web 服务器。
虽然 Caddy 的性能友好程度不及树莓派上的 [NGINX],但它具有易于使用的功能,旨在利用现代 Web 技术盒子外面。
Caddy 从一开始就利用 HTTP2 等现代 Web 技术,并为通过 Caddy 文件设置的任何域名自动设置 SSL 证书。它通过自动从 Lets Encrypt 获取这些证书来做到这一点。
掌握了 Caddy 奖励之后,Caddy 的 Caddyfile 系统就相对易于使用,而且幸运的是,它们在大多数功能上都有可靠的文档。
设备清单
以下是我用于此树莓派 Caddy Web 服务器教程的所有内容。我强烈建议使用以太网电缆,以在任何服务器相关项目中获得最佳性能。
推荐的
树莓派 2 或 3
Micro SD 卡
电源
Ethernet Cord 或 * Wifi dongle (Pi 3 内置 WiFi) )
可选的
- 树莓派外壳
在树莓派上设置球童
1 开始在树莓派上安装和设置 Caddy 之前,我们必须做的一件事是确保我们拥有最新的内容。运行以下两个命令以将树莓派的软件包更新为最新版本。
sudo apt-get update
sudo apt-get upgrade
2 在开始设置树莓派 Caddy Web 服务器之前,我们首先必须删除默认情况下在某些 Raspbian 副本上安装的 apache2 。如果您已经知道尚未在树莓派上安装 apache2,则可以跳过此命令并继续下一步。
sudo apt-get remove apache2
3 现在,我们可以在终端中运行以下命令来下载并安装 Caddy 。该命令将获取并运行位于 Get Caddy 上的 bash 脚本。该脚本将检测您正在运行的操作系统,下载正确版本的 Caddy 并进行设置,以使其可以像标准应用程序一样运行。
卷曲 https ://getcaddy.com | bash -s个人
4 一旦我们的 Caddy Web 服务器下载完毕并安装到树莓派上,我们就可以开始进行更复杂的设置任务。首先创建一个文件夹,通过在树莓派上运行以下命令,将 Caddy 配置文件保存在 /etc/ 文件夹中。
sudo mkdir /etc/caddy
5 在我们忙于制作文件夹的同时,我们还将制作一个文件夹来保留我们的第一个网站。我们现在将其命名为 localhost 。但是,如果您想将其用作域名,建议您将文件夹名称 localhost 替换为您的网站域名,例如 pimylifeup .com 。
sudo mkdir -p/var/www/localhost
6 借助在树莓派上创建的两个文件夹,我们现在可以进入有趣的部分,那就是创建 caddyfile 。该文件是我们保留树莓派 Caddy Web 服务器所有配置的地方。
我们将把这个文件存储在我们之前创建的 /etc/caddy 文件夹中。在树莓派上运行以下命令,开始创建 caddyfile 的过程。
sudo vim /etc/caddy/Caddyfile
7 在此文件中,编写以下几行,基本上,这些文本行的作用是定义要侦听的地址,我们要提供的文件所在的位置,以及我们要在 Caddy 的 HTML 输出中利用 GZIP 压缩。
请记住,用您之前创建的文件夹的名称替换 localhost ,如果您使用的是域名,也要用它替换:80 localhost:80 ,例如,该行最终会像 pimylifeup.com {
:80本地主机:80 {
root /var/www/localhost
gzip
}
完成此操作后,您可以先按 CTRL + X ,然后按 Y ,最后按 Enter 键保存并退出文件。
8 现在,我们已经建立了 Caddyfile ,接下来将继续制作示例 HTML 文件,以确保其仍然有效。设置 PHP 时,我们将重新编辑 Caddyfile 。现在,让我们通过运行以下命令来制作测试索引文件。再次将 localhost 替换为之前设置的内容。
sudovim/var/www/localhost/index.html
9 在此文件中写任何东西,因为我们需要做的只是确保它正常工作。对于我们的教程,我们将只编写少量的 HTML 。
<h1>这是对 pimylifeup .com的测试</h1>完成此操作后,可以按 Ctrl + X ,然后按 Y ,然后按 Enter ,保存并退出。
10 要在树莓派上启动 Caddy Web Server,我们要做的就是在终端中键入以下命令。
cd/etc /球童
球童
11 现在浏览到您的树莓派的本地 IP 地址,或转到 Pi 本身的 localhost 。如果不确定树莓派的本地 IP 地址是什么,则可以使用” 主机名 - I” 命令。如果您按照我们的教程进行操作,则应该看到文本” 这是对 pimylifeup .com 的测试”。
12 确认其正常运行后,按 Ctrl + C 终止程序。
为 Caddy Web 服务器安装 PHP
现在,我们可以开始为树莓派 Caddy Web 服务器设置 PHP 。为此,我们将使用 PHP -FPM。
13 对于这一步,我们将向树莓派安装 PHP -FPM。我们还将安装许多 PHP 脚本所需的一些其他 PHP 模块。
在继续本教程之前,您需要确保正在运行 Raspbian Buster 或更高版本。您可以在我们的指南中学习如何将 Raspbian 拉伸升级为破坏者。
现在运行以下命令将 php7 .3-fpm 和其他几个方便的 PHP 模块安装到树莓派。
sudo apt-get install php7.3-fpm php7.3-mbstring php7.3-mysql php7.3-curl php7.3-gd php7.3-curl php7.3-zip php7.3-xml -y
14 现在,我们在树莓派上安装了 PHP -FPM,我们可以继续配置 Caddy Web 服务器以使用它,为此,我们将不得不再次打开 Caddyfile 。
运行以下命令以开始编辑文件。
sudo vim /etc/caddy/Caddyfile
15 我们要在此文件中添加以下行,这些行将告诉我们的 Caddy Web 服务器将 PHP -FPM 用作其 fastcgi 处理程序。
它还告诉它读取 index.php 文件作为索引,并且我们还添加了几行来重写 URL 请求,以使其与 PHP 配合使用。
找
根/var/www/localhost
gzip
在下方添加
fastcgi//var/run/php/php7.3-fpm.sock {
索引 index .php
}
改写{
r。*
分机/
到/index.php?{query}
}
完成后,请按 CTRL + X ,然后按 Y ,然后最后按 Enter ,保存并退出。
16 保存后,我们需要更改一些文件许可权,以便 PHP -FPM 可以解释我们的 index.php ,并且我们还需要这样做以设置服务文件。
在树莓派上运行以下 Linux 权限命令,以使 www-data 用户和组对我们与 Web 相关的文件和分配相关的” 读 / 写 / 执行” 权限。
sudo chown -R root:www-data/etc/caddy
sudo chown www-data:www-data/etc/caddy/Caddyfile
sudo chmod 444/etc/caddy/Caddyfile
sudo chown -R www-data:www-data/var/www
sudo chmod -R 555/var/www
17 现在,我们已经更正了 Caddy 文件的读 / 写权限和文件所有权,我们最终也可以创建 Caddy 服务。运行以下命令以下载并设置 Caddy 服务。
sudo wget https://raw.githubusercontent.com/mholt/caddy/master/dist/init/linux-systemd/caddy.service
sudo cp caddy.service /etc/systemd/system/
sudo chown root:root /etc/systemd/system/caddy.service
sudo chmod 644 /etc/systemd/system/caddy.service
sudo systemctl守护进程重新加载
18 现在,在使用我们的新服务启动 Caddy 之前,让我们制作一个。 php 文件以使其运行。如果您使用的是实际域名,请记住更改本地主机。
sudo vim /var/www/localhost/index.php
19 现在,在此文件中,添加以下行。
<?php phpinfo(); ?>
完成所有操作后,您可以通过按 CTRL + X 然后按 y 保存并退出文件。
20 现在,我们终于可以使用我们的新服务来启动树莓派 Caddy Web 服务器,并通过运行以下两个命令将其设置为在启动时自动启动。如果您不希望它在启动时启动,请不要运行第二个命令。
sudo systemctl启动 caddy .service
sudo systemctl启用 caddy .service
21 现在,您应该拥有一个使用 Caddy 的可正常使用的 HTTP 服务器,如果您想进一步修改 Caddy 的配置,可以通过转到 [Caddy Docs 页面] 来查看其官方文档 (https://caddyserver .com/docs)。
现在,如果您喜欢本 DIY Pi 教程或遇到任何问题,我们希望您已经成功设置了树莓派 Caddy Web 服务器,也可以在评论部分中随意发表评论。下面。