在 Ubuntu 上安装和使用 Nginx教程

主机说将提供有关如何在 Ubuntu 上安装和使用 Nginx 的分步指南。我们将涵盖您需要了解的所有内容,从安装 Nginx 到配置它以提供网页服务。

Nginx (发音为“engine-x”)是一种流行的网络服务器软件,以其高性能和可靠性着称。它是许多流行网站使用的开源软件,包括 Netflix、GitHub 和 WordPress。Nginx 可以用作 Web 服务器、负载平衡器、反向代理和 HTTP 缓存等。

它以其高性能、稳定性和可扩展性而著称。它是托管需要快速可靠的 Web 托管的网站、应用程序和服务的绝佳选择。按照本指南,您可以在您的 Ubuntu 计算机上安装和设置 Nginx 并提供网页服务。

在 Ubuntu 上安装 Nginx

先决条件

在 Ubuntu 上安装 Nginx 之前,您需要满足一些先决条件:

  • 访问 Ubuntu 服务器:您将需要访问 Ubuntu 服务器,无论是作为VPS主机还是独立服务器。
  • 超级用户访问:您将需要超级用户访问 Ubuntu 服务器。这可以通过以 root 用户身份登录或使用命令来实现sudo

按照以下步骤在您的 Ubuntu 系统上安装 Apache

步骤 1. 更新 Ubuntu

始终建议在安装任何新软件之前将您的 Ubuntu 服务器更新到最新版本。您可以通过在终端中运行以下命令来执行此操作:

sudo apt-get update
sudo apt-get upgrade

步骤 2. 配置其他现有的 Web 服务器

如果您的 Ubuntu 服务器上安装了其他 Web 服务器,例如 Apache,请在安装 Nginx 之前卸载它们。这将避免任何冲突或端口绑定问题。

sudo apt-get remove apache2

或者,如果您想将 Nginx 与 Apache 一起运行,您可以选择使用 Nginx 作为 Apache 的反向代理。此配置允许 Nginx 处理传入的请求并将它们转发给 Apache 进行处理。此设置可以提供两种 Web 服务器的优势。

步骤 3. 安装 Nginx

Nginx 在 Ubuntu 存储库中可用。因此,您不需要添加任何其他第三方存储库。相反,在终端上执行下面的命令来安装 Nginx。

sudo apt install nginx

Install-Nginx

安装 Nginx

步骤 4. 启动 Nginx:

安装后,Nginx 应该会自动启动。但是,如果安装后服务没有启动,您可以运行下面的命令来启动该服务。

sudo systemctl start nginx

步骤 5. 检查 Nginx 状态:

您可以使用以下命令检查 Nginx 的状态:

sudo systemctl status nginx

此命令将显示 Nginx 的当前状态。

Nginx-service

Nginx服务

从上图中,可以看到Nginx服务在我们的系统上运行成功。

提示:如果启动Nginx服务报错,很大可能是80端口已经被占用。Nginx 默认使用端口 80 传输 HTTP 流量。如果其他服务已经使用了 80 端口,Nginx 将无法启动。要检查端口 80 是否正在使用,您可以运行以下命令:

sudo lsof -i :80

如果另一个服务使用端口 80,您可以停止该服务或将 Nginx 配置为使用其他端口。

步骤 6. 配置防火墙

如果您在系统上启用了 UFW 防火墙,请确保将其适当配置为允许 Nginx 使用的端口上的传入流量。Nginx 使用的默认端口对于 HTTP 是 80,对于 HTTPS 是 443。您可以运行以下命令以允许流量流向 Nginx。

sudo ufw allow 'Nginx HTTP'
sudo ufw allow 'Nginx HTTPS'

Configure-firewall

配置防火墙

步骤 7. 测试 Nginx

要测试 Nginx 是否正常工作,请打开 Web 浏览器并在地址栏中输入 Ubuntu 服务器的 IP 地址。您可以通过运行以下任何命令来获取系统的 IP 地址。

ifconfig

Or,

ip a s

如果 Nginx 安装正确,您应该会看到默认的 Nginx 欢迎页面。

Nginx-default-page

Nginx 默认页面

创建自己的网站

当您在浏览器上键入系统的 IP 地址时看到的网站是默认的 Nginx 网站,位于目录中/var/www/html。如果您想托管一个静态 HTML 站点,您可以删除目录中的文件  /var/www/html并添加您的自定义文件。

但是,如果要托管多个网站,则必须配置虚拟主机。虚拟主机配置允许您在单个服务器上运行多个网站或 Web 应用程序。每个虚拟主机都有自己的一组配置文件,允许您独立自定义每个网站的行为。

请按照以下步骤操作。

步骤 1. 为您的网站创建一个目录

使用mkdir命令在 /var/www 文件夹中为您的网站文件创建一个目录。例如,我们将创建一个名为 test-website 的目录。

sudo mkdir /var/www/test-website

Create-a-new-directory

创建一个新目录

第 2 步。为您的网站创建一个新的 HTML 文件:

现在,您需要将您的网站文件添加到此目录。对于这篇文章,我们将创建一个名为“index.html”的简单 HTML 文件。但是,如果您使用的是 WordPress 或任何其他软件,则可以将文件提取到这个新目录中。

sudo nano index.html

在文件中添加一些基本的 HTML 代码,例如:

<html>
    <head>
        <title>How to Install and Use Nginx on Ubuntu (fosslinux.com)</title>
    </head>
<body bgcolor="skyblue">
    <h1>How to Install and Use Nginx on Ubuntu (fosslinux.com)</h1>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed et dolor quis ex posuere euismod. Sed pharetra vel odio in venenatis. Donec eget eros vel nisi varius rutrum. Aliquam efficitur lacus at purus dictum lobortis. Duis ut diam dignissim, dapibus turpis vel, consectetur orci. Aliquam erat volutpat. Nulla facilisi. Praesent ut sapien sapien.
</p>
<img src="https://www.fosslinux.com/wp-content/uploads/2021/02/nginx-logo.png" alt="Nginx Logo">
</body>
</html>

保存(Ctrl + O,然后输入)并关闭文件 (Ctrl + X)。

步骤 3. 为虚拟主机创建一个新的 Nginx 配置文件

下一步是为您的新网站创建一个配置文件。对于这篇文章,我们将其称为“test-website.conf”。启动终端并执行以下命令。

sudo nano /etc/nginx/sites-available/test-website.conf

在文件中添加以下配置:

server {
    listen 80;
    listen [::]:80;
    root /var/www/test_website;
    index index.html;

    server_name test-website.com www.test-website.com;

   location / {
      try_files $uri $uri/ =404;
  }
}

此配置告诉 Nginx 侦听端口 80 并提供 /var/www/test-website 目录中的文件。它还将默认索引文件设置为 index.html 并指定虚拟主机的域名。

Nginx-configuration

Nginx 配置

保存(Ctrl + O,然后输入)并关闭文件 (Ctrl + X)。

步骤 4. 启用虚拟主机

接下来,您需要创建一个符号链接来启用虚拟主机:

sudo ln -s /etc/nginx/sites-available/test-website.conf /etc/nginx/sites-enabled/

接下来,您需要运行测试以确认您的配置和语法没有问题。执行下面的命令。

sudo nginx -t

如果配置没问题,您可以继续重启 Nginx 以应用更改:

sudo systemctl restart nginx

Restart-nginx

重启nginx

恭喜,您已经创建了自己的网站并使用 Nginx 设置了虚拟主机。您现在可以通过在网络浏览器中输入您的域名或 IP 地址来访问您的网站。

第 5 步:测试您的网站

您可以通过在浏览器中输入 IP 地址来继续测试您的网站。

Test-your-site

测试您的网站

如果您使用了不同的端口号(例如 81),请在 IP 地址中指定它,如下所示。

192.168.1.27:81

Nginx 与 Apache

Nginx 和 Apache 是世界上最流行的两种 Web 服务器。虽然两者的目的相同,但一些关键差异使它们与众不同。

表现

Nginx 以其高性能和低资源消耗着称。它旨在以低内存使用率处理许多并发连接。另一方面,Apache 可能是资源密集型的,可能需要更多的内存来处理相同的流量。

灵活性

Apache 是比 Nginx 更灵活的 Web 服务器。它支持许多模块,可以轻松定制以满足特定需求。另一方面,Nginx 的模块集更有限,在定制方面灵活性较低。

使用方便

Nginx 通常被认为比 Apache 更易于配置和使用。它的配置文件更加直接直观,可以快速轻松地进行设置。但是,Apache 的设置和配置可能更复杂,尤其是对于初学者而言。

提示:Nginx 和 Apache 各有优缺点。两者之间的选择取决于所服务的网站或应用程序的具体需求。请随时查看我们的帖子,该帖子将为您提供有关在 Ubuntu 上安装 Apache Web 服务器的综合指南。Nginx 是需要低资源消耗的高性能 Web 服务器的不错选择,而 Apache 更灵活,可以定制以满足特定需求。

结论

Nginx 是高性能且可靠的 Web 服务器的绝佳选择。在 Ubuntu 上安装和配置很容易。凭借其充当 Web 服务器、负载平衡器、反向代理和 HTTP 缓存等功能,它提供了许多好处。

这篇文章向您展示了如何在 Ubuntu 上安装和配置 Nginx、启动并检查其状态、配置防火墙以及使用虚拟主机托管单个静态 HTML 站点或多个网站。有了这些知识,您就可以自信地使用 Nginx 来托管您的网站和应用程序。

原创文章,作者:主机说,如若转载,请注明出处:https://www.hostingtalk.cn/how-to-install-and-use-nginx-on-ubuntu/

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

error: 内容保护