在 Debian 10 上安装带有服务器块(虚拟主机)的 Nginx
Nginx 是一种非常流行的高性能 Web 服务器,它结合了反向代理、负载平衡、缓存等功能。根据其配置方式,它可以充当反向代理以及 HTTP/HTTPS 服务器的负载均衡器。
Nginx Web 服务器具有为数千个并发连接提供服务的非凡能力,这使其成为最快的 Web 服务器,为全球一半以上最繁忙的网站提供支持。其中包括 Netflix、DuckDuckGo 和 DropBox 等。
另请阅读:如何在 Debian 10 上使用虚拟主机安装 Apache
在本教程中,我们将引导您完成如何使用虚拟主机安装 Nginx 以在 Debian 10 服务器上托管多个域的步骤。
先决条件
在开始之前,请确保满足以下要求:
- Debian 10 的一个实例。
- 指向服务器的完全限定域名 (FQDN)。
- 在本指南中,我们使用域名
howtoing.com
指向 IP 地址为 192.168.0.104 的 Debian 10 系统。 - 良好的互联网连接。
第 1 步:更新 Debian 10 软件包存储库
首先,我们需要将本地包存储库更新到最新版本。为此,请以具有 sudo 权限的普通用户身份登录并运行以下命令。
sudo apt update -y
步骤 2:在 Debian 10 上安装 Nginx
由于 Nginx 存在于 Debian 的存储库中,因此我们可以轻松地使用 Debian 附带的 apt 包管理器来安装它。
sudo apt install nginx -y
步骤3:检查Nginx Web服务器的状态
如果没有遇到错误,则 Nginx Web 服务器已成功安装。在进行进一步配置之前,请谨慎验证 Web 服务器的状态。
要检查 Nginx 的状态,请执行:
systemctl status nginx
如果网络服务器已启动并正在运行,您将收到以下通知。
如果您想重新启动 Nginx Web 服务器,请运行该命令。
systemctl restart nginx
要停止 Nginx,请发出命令。
systemctl stop nginx
要启动 Web 服务器,请运行。
systemctl start nginx
将 Nginx Web 服务器配置为在引导运行时启动。
systemctl enable nginx
另请阅读:每个 Linux 用户必须了解的 10 个最常用的 Nginx 命令
步骤4:配置防火墙开放Nginx端口
成功安装并运行 Nginx 后,我们需要允许对该服务进行 Web 访问,尤其是外部用户。如果启用了 UFW 防火墙,则需要允许 HTTP 访问通过防火墙。
要实现此目的,请执行命令。
sudo ufw allow 'Nginx HTTP'
接下来,重新加载防火墙以使更改生效。
sudo ufw reload
太好了,现在您可以通过运行来验证 HTTP 是否允许通过防火墙。
sudo ufw status
从上面的代码片段中,我们可以清楚地看到Nginx HTTP已被允许通过UFW防火墙。
第5步:访问Nginx Web服务器
到目前为止,我们已经完成了启动并运行 Nginx 的基本配置。要通过网络浏览器访问网络服务器,请浏览服务器的 IP 地址,如图所示。
http://server-IP-address
这是对 Nginx 已启动并运行的确认。
步骤 6:在 Debian 10 上配置 Nginx 服务器块
这是一个可选步骤,当您想要在 Nginx 网络服务器上托管多个域时非常有用。为此,您需要有一个指向您的 Debian 服务器的域名。
在本部分中,我们将使用域名 howtoing.com
,其 A
记录指向服务器的 IP 192.168.0.104。
当您将域名指向服务器的 IP 地址时,域名很快就会更改并指向您的 Web 服务器,如图所示。
现在让我们创建一个服务器块。
首先,让我们为我们的域创建一个目录,如图所示。
sudo mkdir -p /var/www/html/linux-console.net
然后分配所需的文件所有权,如图所示。
sudo chown -R $USER:$USER /var/www/html/linux-console.net
接下来,为组和公共用户分配读取和执行权限,如图所示。
sudo chmod -R 755 /var/www/html/linux-console.net
现在让我们使用 vim 文本编辑器创建一个简单的 index.html
示例网页。
sudo vim /var/www/html/linux-console.net/index.html
将一些示例内容添加到文件中。这将显示在浏览器上。
<html>
<head>
<title>Welcome to Linux geeks</title>
</head>
<body>
<h1>Success! Welcome to your new server block on Tecmint Nginx Web Server !</h1>
</body>
</html>
保存并退出编辑器
为了提供此内容,需要创建一个服务器块。
让我们创建一个服务器块
vim /etc/nginx/sites-available/linux-console.net
将以下内容复制并粘贴到服务器块文件中。
server {
listen 80;
listen [::]:80;
root /var/www/html/linux-console.net;
index index.html index.htm index.nginx-debian.html;
server_name linux-console.net linux-console.net;
location / {
try_files $uri $uri/ =404;
}
}
请务必使用您自己的域名更新域名 howtoing.com。
要激活或启用服务器块文件,请创建一个符号链接,如图所示。
sudo ln -s /etc/nginx/sites-available/linux-console.net /etc/nginx/sites-enabled/
要验证 Nginx 中的所有设置是否都已正确配置,请运行。
sudo nginx -t
太好了,我们可以出发了!最后重启Nginx。
sudo systemctl restart nginx
前往您的浏览器并刷新,如果一切顺利,浏览器应该为您的服务器块网页提供服务,如图所示。
第7步:访问Nginx日志文件
要访问有关向您的服务器发出的请求的日志文件,请访问以下文件。
sudo vim /var/log/nginx/access.log
如果您在 Nginx Web 服务器中遇到错误,请检查文件是否有错误。
sudo vim /var/log/nginx/error.log
结论
在本指南中,您学习了如何在 Debian 10 实例上安装 Nginx 并进一步配置它以支持其他域。我们希望您认为本指南富有洞察力。您的反馈将不胜感激..