在 Linux 系统上创建自己的 Web 服务器并托管网站
在 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 服务器,以满足您的特定需求和要求。
相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

