网站搜索

在 Debian 10 上安装带有服务器块(虚拟主机)的 Nginx


Nginx 是一种非常流行的高性能 Web 服务器,它结合了反向代理、负载平衡、缓存等功能。根据其配置方式,它可以充当反向代理以及 HTTP/HTTPS 服务器的负载均衡器。

Nginx Web 服务器具有为数千个并发连接提供服务的非凡能力,这使其成为最快的 Web 服务器,为全球一半以上最繁忙的网站提供支持。其中包括 NetflixDuckDuckGoDropBox 等。

另请阅读:如何在 Debian 10 上使用虚拟主机安装 Apache

在本教程中,我们将引导您完成如何使用虚拟主机安装 Nginx 以在 Debian 10 服务器上托管多个域的步骤。

先决条件

在开始之前,请确保满足以下要求:

  1. Debian 10 的一个实例。
  2. 指向服务器的完全限定域名 (FQDN)。
  3. 在本指南中,我们使用域名 howtoing.com 指向 IP 地址为 192.168.0.104Debian 10 系统。
  4. 良好的互联网连接。

第 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 并进一步配置它以支持其他域。我们希望您认为本指南富有洞察力。您的反馈将不胜感激..