在 Linux 系统上创建自己的 Web 服务器并托管网站

linuxoperating systemopen source更新于 2026/1/29 9:07:17

在 Linux 系统上创建自己的 Web 服务器并托管网站是学习 Web 开发知识和积累宝贵经验的绝佳方式。本文将引导您完成在 Linux 系统上搭建基本 Web 服务器并托管网站的过程。我们将涵盖以下主题:

  • 安装 Apache

  • 配置 Apache

  • 创建网站

安装 Apache

Apache 是世界上使用最广泛的 Web 服务器软件。它是免费的开源软件,几乎可以在所有操作系统上运行,包括 Linux。要在 Linux 系统上安装 Apache,请打开终端窗口并运行以下命令:

sudo apt-get update
sudo apt-get install apache2

第一个命令更新系统上的软件包列表,第二个命令安装 Apache。

配置 Apache

安装 Apache 后,您可以配置它来为您的网站提供服务。Apache 的主配置文件位于 /etc/apache2/apache2.conf。您可以使用任何文本编辑器编辑此文件,但我们推荐使用 nano,它是一款简单易用的文本编辑器。

要打开 Apache 配置文件,请在终端中运行以下命令 -

sudo nano /etc/apache2/apache2.conf

在配置文件中,您可以更改 Apache 的工作方式。例如,您可以将 Apache 监听的默认端口(80)更改为其他端口,例如 8080。您还可以更改 Apache 查找网站文件的目录。

要更改默认端口,请在配置文件中查找以下行 -

Listen 80

将 80 更改为所需的端口号,然后保存文件。然后,重启 Apache 以应用更改 -

sudo systemctl restart apache2

要更改 Apache 查找网站文件的目录,您可以编辑 DocumentRoot 指令。DocumentRoot 指令指定 Apache 默认查找网站文件的目录。在配置文件中查找以下行 -

DocumentRoot /var/www/html

将 /var/www/html 更改为您想要存储网站文件的目录,然后保存文件。然后,重启 Apache 以应用更改 −

sudo systemctl restart apache2

创建网站

安装并配置 Apache 后,您可以创建一个网站并将其托管在您的 Linux 系统上。要创建网站,请按照以下步骤操作 −

  • 为您的网站文件创建一个目录 −

sudo mkdir -p /var/www/example.com/public_html

    此命令在 /var/www/ 目录中创建一个名为 example.com 的目录。 public_html 目录是您存储网站文件的位置。

  • 在 public_html 目录中创建 index.html 文件 -

sudo nano /var/www/example.com/public_html/index.html

    此命令打开文本编辑器,并在 public_html 目录中创建一个名为 index.html 的新文件。您可以使用自己的 HTML 代码替换默认文本来创建您的网站。

  • 设置 public_html 目录的权限 -

sudo chmod -R 755 /var/www/example.com/public_html

    此命令设置 public_html 目录的权限,以便 Apache 可以访问这些文件并将其提供给访问者。

  • 创建虚拟主机配置文件 -

sudo nano /etc/apache2/sites-available/example.com.conf

    此命令打开文本编辑器并为您的网站创建一个新的配置文件。将 example.com 替换为您的域名。将以下配置添加到文件 -

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

    此配置在默认 HTTP 端口 80 上为您的网站设置虚拟主机。它还指定了网站的服务器名称 (ServerName) 和服务器别名 (ServerAlias),用于告知 Apache 需要为您的网站处理哪些请求。此外,它还会设置 DocumentRoot(即存储网站文件的目录)以及网站错误和访问日志的位置。

    添加配置后,保存并关闭文件。

  • 启用虚拟主机

    要启用虚拟主机,请运行以下命令 -

sudo a2ensite example.com.conf

    此命令通过创建从配置文件到 sites-enabled 目录的符号链接来启用虚拟主机。

  • 重启 Apache

    要应用所做的更改,您需要重启 Apache -

sudo systemctl restart apache2

现在,您应该能够在 Web 浏览器中输入域名或 IP 地址来访问您的网站了。

提升安全性和性能

现在您已经搭建了一个基本的 Web 服务器,并在 Linux 系统上托管了一个网站,接下来您可以进行一些额外的配置来提升其安全性和性能。

启用 HTTPS 和 SSL/TLS

HTTPS 是 HTTP 协议的安全版本,它使用 SSL/TLS 加密服务器和客户端之间传输的数据。在您的网站上启用 HTTPS 对于保护用户数据和防范各种攻击(例如窃听和中间人攻击)至关重要。

要启用 HTTPS,您需要从受信任的证书颁发机构获取 SSL/TLS 证书,并配置您的 Web 服务器以使用它。 Let's Encrypt 是一家颇受欢迎的证书颁发机构,提供免费的 SSL/TLS 证书。

要获取 Let's Encrypt 证书,您可以使用 Certbot,这是一个可自动执行证书颁发流程的命令行工具。 Certbot 在大多数 Linux 发行版的默认存储库中可用。

要在 Ubuntu 或 Debian 上安装 Certbot,请运行以下命令 -

sudo apt update
sudo apt install certbot python3-certbot-apache

要为您的网站获取证书,请运行以下命令 -

sudo certbot --apache -d example.com -d www.example.com

此命令会自动为您的网站获取并安装 SSL/TLS 证书,并配置 Apache 以使用它。

启用防火墙

防火墙是一种网络安全系统,它根据预定义的安全规则监控和控制传入和传出的网络流量。在 Linux 系统上启用防火墙可以帮助保护您的 Web 服务器免受各种网络攻击,例如 DDoS 攻击和端口扫描。

Ubuntu 和 Debian 自带名为 UFW(简易防火墙)的内置防火墙。要启用 UFW,请运行以下命令:

sudo apt update
sudo apt install ufw
sudo ufw enable

默认情况下,UFW 会阻止所有传入连接并允许所有传出连接。要允许端口 80 和 443(HTTP 和 HTTPS)上的传入流量,请运行以下命令 -

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

要查看 UFW 的状态,请运行以下命令 -

sudo ufw status

安装和配置缓存机制

缓存是将频繁访问的数据存储在内存或磁盘中,以提高性能并减轻服务器负载的过程。在 Linux 系统上安装缓存机制可以显著提升 Web 服务器的性能。

mod_cache 是 Apache 最常用的缓存机制之一。要在 Ubuntu 或 Debian 上安装 mod_cache,请运行以下命令 -

sudo apt update
sudo apt install libapache2-mod-cache

要为您的网站启用缓存,请将以下配置添加到您的虚拟主机配置文件中 -

<IfModule mod_cache.c>
    CacheEnable disk /
    CacheHeader on
    CacheDefaultExpire 3600
    CacheMaxExpire 86400
    CacheIgnoreHeaders Set-Cookie
    CacheStoreNoStore on
</IfModule>

上述配置通过使用磁盘缓存为您的网站启用缓存,设置默认过期时间为 3600 秒(1 小时),最长过期时间为 86400 秒(1 天)。CacheIgnoreHeaders 指令用于指示 Apache 在缓存页面时忽略 Set-Cookie 标头,CacheStoreNoStore 用于阻止缓存 Cache-Control 标头中包含"no-store"指令的页面。

需要注意的是,缓存可能会对依赖用户特定数据的动态网站产生负面影响。在这种情况下,您可能需要配置缓存以排除某些页面或网址。

要测试缓存是否适用于您的网站,您可以使用 Apache 基准测试工具 (ab)。在 Ubuntu 或 Debian 系统上运行以下命令安装 ab -

sudo apt update
sudo apt install apache2-utils

安装完成后,运行以下命令,通过 100 个请求测试您的网站 -

ab -n 100 http://example.com/

启用缓存后,您应该会看到网站响应时间显著提升。

总结

在本文中,我们介绍了在 Linux 系统上创建自己的 Web 服务器并托管网站的基本步骤。我们首先安装 Apache,创建虚拟主机配置,然后测试我们的网站。我们还探讨了一些可以对您的 Web 服务器进行的其他配置,以提高其安全性和性能,例如启用 HTTPS、设置防火墙以及安装缓存机制。

按照这些步骤,您可以设置一个强大而灵活的 Web 服务器,为您的网站提供快速、安全的服务。只需稍加练习和尝试,您就可以自定义您的 Web 服务器,以满足您的特定需求和要求。


相关文章


有用资源