什么是 Web 服务器?
Web 服务器是一个通过互联网提供 Web 内容的软件应用程序或计算机系统。它处理来自客户端(例如 Web 浏览器)的请求,并将请求的网页、文件或其他资源交付给客户端。当用户在 Web 浏览器中输入 URL(统一资源定位符)时,浏览器会向与该 URL 关联的 Web 服务器发送 HTTP(超文本传输协议)请求。Web 服务器处理该请求并返回包含请求内容的 HTTP 响应,该响应随后由 Web 浏览器渲染并显示。
常用的 Web 服务器软件包括 Apache HTTP Server (Apache)、Nginx、Microsoft Internet Information Services (IIS) 和 LiteSpeed。每种 Web 服务器都有各自的功能、性能特点和配置选项。
什么是 Apache Web 服务器?
Apache HTTP 服务器(通常简称 Apache)是世界上最受欢迎且使用最广泛的 Web 服务器之一。Apache 以其稳定性、性能和灵活性而闻名,可在 Linux、Unix、Windows 和 macOS 等各种操作系统上运行。它支持多种协议,包括 HTTP、HTTPS、FTP 等。
在接下来的内容中,您将学习如何在 Ubuntu 20.04 服务器上安装 Apache Web 服务器。
在 Ubuntu 20.04 上安装 Apache 的分步指南
步骤 1.安装 Apache
打开终端或通过 SSH 连接到您的 Ubuntu 20.04 服务器,并使用以下命令切换到 root 用户,以便您拥有后续操作的权限。然后,根据提示输入密码。
$ sudo -i

接下来,更新软件包存储库以确保您拥有最新的软件包信息。
$ apt 更新

一旦软件包存储库更新,您就可以通过运行以下命令来安装 Apache Web 服务器:
$ apt 安装 apache2
并输入 y 确认安装。

步骤 2.调整防火墙
如果您启用了防火墙(例如 UFW),则需要允许传入的 HTTP(端口 80)和 HTTPS(端口 443)流量。运行以下命令以允许 HTTP 和 HTTPS 流量:
$ ufw 允许“Apache”
然后,通过运行以下命令确保服务处于活动状态:
$ systemctl status apache2

从上面的截图中,我们可以看到 Apache 服务正在运行。您还可以通过请求 Apache 页面来验证 Apache 是否已安装并正常运行。打开 Web 浏览器并输入服务器的 IP 地址或域名。如果您不知道服务器的 IP 地址,请尝试以下命令。如果 Apache 运行正常,您应该会看到 Apache Ubuntu 默认页面。
$ 主机名 -I
如果 Apache 正常工作,您应该会看到如下所示的 Apache Ubuntu 默认页面。

步骤 3.设置虚拟主机(推荐)
虚拟主机(也称为虚拟服务器)是 Web 服务器中的一种配置,允许在单个物理服务器上托管多个网站或 Web 应用程序。每个虚拟主机都有自己的域名或 IP 地址,即使与其他虚拟主机共享底层硬件资源,其运行方式也如同独立的服务器。我们将设置一个名为 your_domain 的域名,但您应该将其替换为您自己的域名。
Ubuntu 20.04 上的 Apache 默认启用了一个虚拟主机,该虚拟主机配置为从 /var/www/html 目录提供文档。我们可以在 /var/www 目录下为 your_domain 站点创建一个新目录。将 your_domain 替换为您站点的实际域名。在本例中,我们使用 mytestsite.com。然后,将目录的所有权分配给您当前登录的用户,并允许所有者读取、写入和执行文件,同时仅授予组和其他用户的读取和执行权限。
$ mkdir /var/www/你的域名 $ chown -R $USER:$USER /var/www/your_domain $ chmod -R 755 /var/www/你的域名

接下来,使用你常用的编辑器创建一个示例 index.html 页面。这里我们使用 nano 编辑器。
$ nano /var/www/your_domain/index.html

然后创建一个如下所示的示例 HTML。

然后,按 CTRL + X,然后按 Y 和 ENTER 保存文件。
接下来,为您的域创建一个虚拟主机配置文件。使用以下命令在文本编辑器中创建并打开该文件:
$ nano /etc/apache2/sites-available/your_domain.conf

在配置文件中,添加以下内容,将 your_domain 替换为您的实际域名。然后,按 CTRL + X,再按 Y 和 ENTER 保存文件。

现在使用 a2ensite 工具启用该文件并禁用 000-default.conf 中定义的默认站点:
$ a2ensite 你的域名.conf $ a2dissite 000-default.conf


之后,我们可以使用以下命令测试配置错误。您应该会收到屏幕截图所示的“Syntax OK”输出。
$ apache2ctl 配置测试

最后,重新启动 Apache 以使更改生效。
$ systemctl 重启 apache2

Apache 重启后,它应该会为你的域名提供服务。你可以访问 http://your_domain 进行测试,应该会看到你配置的索引页内容。

管理 Apache 进程
这里介绍一些常用的基本管理命令。
$ systemctl 停止 apache2 $ systemctl 启动 apache2 $ systemctl 重启 apache2
$ systemctl 重启 apache2
$ systemctl 禁用 apache2
$ systemctl 启用 apache2