如何将 Raspberry Pi 设置为 Web 服务器

Raspberry Pi 系列准系统计算机是令人敬畏的小动物,如果您想在家中创建自己的服务器以将网页提供到 Internet 或托管您自己的站点和服务集供您自己使用,它几乎是完美的。

但是,如果您不确定从哪里开始使用单板计算机,请阅读下文,因为您将学习如何将 Raspberry Pi 准备为可以处理您扔给它的任何东西的通用服务器。

将 Raspberry Pi 设置为服务器所需的条件:

要完成此项目,您将需要以下物品:

  • Raspberry Pi——最好是 4B 型
  • SD 卡或 SSD
  • 以太网电缆
  • 静态 IP 地址
  • 域名——如果您还没有域名,这里有一些关于选择域名的有用提示。
  • 另一台电脑

如何为服务器安装 Raspberry Pi OS

许多发行版可用于 Raspberry Pi,包括 Ubuntu、Manjaro、Apertis 和 RetroPi。 在设置您的 Pi 以向 Internet 提供内容时,我们推荐 Raspberry Pi OS Lite(64 位),它是 Debian Bullseye 的一个端口,但没有桌面或任何不必要的琐事。 不需要桌面,因为您不会使用显示器。

首先,将 SD 卡插入台式 PC 或笔记本电脑,或者如果您使用的是 USB SSD,请立即插入。 现在,下载 Raspberry Pi Imager 工具 并安装它,然后从桌面或命令行打开它。

Imager 将要求您选择操作系统和存储。 点击 选择操作系统, 然后 树莓派操作系统(其他), 然后 树莓派操作系统精简版(64 位).

当你点击 选择存储,您将看到连接到您的 PC 的所有存储设备的列表。 选择您要安装操作系统的驱动器,您将返回到成像仪的主屏幕。

单击屏幕右下角的齿轮以打开配置菜单。 您现在将设置必要的选项以通过 SSH 连接到您的 Pi。

选中复选框 启用 SSH, 设置用户名和密码, 和 设置区域设置. 填写您喜欢的用户名和密码,并将语言环境设置为您的时区和键盘布局(尽管您不会使用直接连接到 Pi 的键盘)。

Save 接着 . Raspberry Pi OS 现在将被写入您选择的存储介质——这可能需要一段时间。

启动 Raspberry Pi 并在本地网络上找到它

将 SD 卡插入 Raspberry Pi 的 SD 卡插槽,或者如果使用 USB 存储,请将其插入可用的 USB 端口之一。 将 Raspberry Pi 连接到电源,并通过以太网电缆连接到路由器。

要连接到您的 Raspberry Pi,您需要知道它的 IP 地址,在同一本地网络上的机器上打开浏览器,然后导航到路由器的 admin 页。 您通常可以通过在浏览器的地址栏中键入 192.168.1.1 来执行此操作。 如果这不起作用,请查看路由器的说明手册以获取详细信息。

你的路由器 admin 页面应将通过 Wi-Fi 连接的设备与通过以太网电缆连接的设备分开显示。 您的 Raspberry Pi 的 IP 地址应显示在附近。 如果不是,将鼠标悬停在 IP 地址标签上应该会产生一个工具提示,显示地址——把它写下来。

使用有线连接到路由器而不是 Wi-Fi 连接的优点之一是本地 IP 地址不会改变。 你可以关闭树莓派,重启路由器,然后去度假一周。 当您返回时,它仍将具有相同的 IP 地址。

通过 SSH 连接到您的 Raspberry Pi

现在您知道了 Raspberry Pi 的本地 IP 地址,您可以在 Windows 和 macOS 上使用 PuTTY 或通过 Linux 上的终端通过 Secure Shell (SSH) 连接到它。

ssh user@local.pi.ip.address

在您第一次连接时,您会收到“无法建立主机的真实性”的警告,并询问您是否要继续连接。 键入单词 是的 并点击返回。

您现在已登录到您的 Raspberry Pi 并可以完全控制系统。

端口转发以将您的 Raspberry Pi 公开到 Internet

如果您希望您的 Raspberry Pi 成为 Web 服务器,则需要确保您可以从 Internet 访问它。

打开你的路由器 admin 页面并找到标题为 转发端口, 端口映射, 或者 港口管理,然后创建两个新条目。

第一个是为了 HTTP (不安全的)流量。 将本地和公共端口都设置为 80,以及本地 IP 地址到您的 Raspberry Pi 的 IP 地址。

第二个是为了 HTTPS (安全)流量。 将本地和公共端口都设置为 443,同时将本地 IP 地址保留为您的 Raspberry Pi 的 IP 地址。

适用于您的 Raspberry Pi 的基本服务器软件

您的 Raspberry Pi 需要能够处理您要部署的任何与服务器相关的软件,为此,您需要先安装一些基本软件。

您需要安装以确保未来一切顺利运行的软件工具包括以下内容:

  • Apache: Web 服务器和反向代理。
  • 玛丽亚数据库: MySQL 数据库。
  • PHP: 一种面向网络的脚本语言。
  • 码头工人:一个开源的容器化平台。
  • 码头工人组成: 一种简化 Docker 容器管理的工具。
  • 证书机器人: 处理从以下位置检索和安装 SSL 密钥和证书 让我们加密.

一、更新升级包

sudo apt update
sudo apt upgrade

安装 Apache 通过键入以下内容:

sudo apt install apache2

现在,启动并启用 Apache 使用以下命令:

sudo systemctl start apache2
sudo systemctl enable apache2

在浏览器中访问您的公共 IP 地址,您应该会看到默认的 Apache 安装页面:

这意味着在端口 80 上对路由器的请求已成功转发到您的 Raspberry Pi,并且 Apache 正在按预期运行。

通过键入以下代码行来安装 PHP:

sudo apt install php

接下来,使用下面的命令行安装 MariaDB:

sudo apt install mariadb-server

现在,键入以下内容:

sudo mysql_secure_installation

当提示输入 root 密码时按回车键,然后选择 当被问及是否要“切换到 unix_socket 身份验证”时。

再次,选择 当提示“更改root密码”时 是的 “删除匿名用户”。

还有,选择 是的 “禁止远程root登录”和 是的 “删除测试数据库并访问它。”

现在,在出现提示时重新加载权限表,安全安装将完成并显示成功消息。

您将能够使用以下命令访问 MariaDB:

sudo mariadb

现在,通过键入以下内容安装 Docker:

sudo apt install docker.io

启动并启用 docker:

sudo systemctl start docker
sudo systemctl enable docker

安装 software-properties-common,更新,然后添加 Docker-compose 的存储库

sudo apt install software-properties-common
sudo apt update
sudo add-apt-repository ppa:certbot/certbot

现在安装 Certbot:

sudo apt-get install python3-certbot-apache

您的 Raspberry Pi 现在已准备好充当服务器!

恭喜——您已经安装了所有必备软件,以使您的 Raspberry Pi 能够安全地显示几乎任何类型的内容,无论部署方法如何。 另外,您可以方便地从互联网上访问它。

您处于令人羡慕的位置,能够托管从简单的静态页面到 WordPress 站点、流媒体服务器或在线办公套件的所有内容。 因此,请花一些时间考虑您希望从 Raspberry Pi 运行哪些站点和服务。