创建您自己的网络服务器并从您的 Linux 主机托管网站
创建您自己的 Web 服务器并从您的 Linux 机器托管网站是了解 Web 开发和获得宝贵经验的好方法。在本文中,我们将引导您完成在 Linux 机器上设置基本 Web 服务器并从中托管网站的过程。我们将涵盖以下主题 -
安装阿帕奇
配置阿帕奇
创建网站
安装阿帕奇
Apache 是世界上使用最广泛的 Web 服务器软件。它是免费且开源的,并且可以在几乎所有操作系统上运行,包括 Linux。要在 Linux 机器上安装 Apache,请打开终端窗口并运行以下命令 -
sudo apt-get update
sudo apt-get install apache2
第一个命令更新系统上的软件包列表,第二个命令安装 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>
此配置在端口 80(默认 HTTP 端口)上为您的网站设置虚拟主机。它还指定您的网站的 ServerName 和 ServerAlias,这告诉 Apache 要为您的网站处理哪些请求。此外,它还设置 DocumentRoot(您的网站文件的存储目录)以及网站的错误和访问日志的位置。
添加配置后,保存并关闭文件。
启用虚拟主机
要启用虚拟主机,请运行以下命令 -
sudo a2ensite example.com.conf
此命令通过创建从配置文件到启用站点的目录的符号链接来启用虚拟主机。
重新启动阿帕奇
要应用您所做的更改,您需要重新启动 Apache -
sudo systemctl restart apache2
现在,您应该能够通过在网络浏览器中输入您的域名或 IP 地址来访问您的网站。
提高安全性和性能
现在您已经设置了基本的 Web 服务器并通过 Linux 主机托管了一个网站,您可以进行一些额外的配置来提高其安全性和性能。
启用带有 SSL/TLS 的 HTTPS
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 服务器的性能。
Apache 最流行的缓存机制之一是 mod_cache。要在 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”指令的页面。
值得注意的是,缓存可能会对依赖用户特定数据的动态网站产生负面影响。在这种情况下,您可能需要配置缓存以排除某些页面或 URL。
要测试缓存是否适用于您的网站,您可以使用 Apache 基准测试工具 (ab)。运行以下命令在 Ubuntu 或 Debian 上安装 ab -
sudo apt update
sudo apt install apache2-utils
安装后,运行以下命令以使用 100 个请求测试您的网站 -
ab -n 100 http://example.com/
启用缓存后,您应该会看到网站的响应时间显着改善。
结论
在本文中,我们介绍了创建您自己的 Web 服务器并从您的 Linux 机器托管网站的基本步骤。我们首先安装 Apache、创建虚拟主机配置并测试我们的网站。我们还探讨了一些可以对 Web 服务器进行的附加配置,以提高其安全性和性能,例如启用 HTTPS、设置防火墙和安装缓存机制。
通过执行这些步骤,您可以设置一个强大且灵活的 Web 服务器,可以快速、安全地为您的网站提供服务。通过一些练习和实验,您可以自定义 Web 服务器以满足您的特定需求和要求。