如何在 Ubuntu 20.04 上安装 Nginx Web 服务器_ubuntu怎么安装软件_ubuntu安装软件命令

Nginx是一种开源、高性能的 Web 服务器,在生产环境中拥有巨大的市场份额。它是一个轻量级和强大的 Web 服务器,主要用于托管高流量网站。

在本指南中,您将学习如何安装Nginx Web 服务器和配置 Ubuntu 20.04 LTS上的 Nginx 服务器块(虚拟主机)。

先决条件

若要开始使用,请确保具有具有 SSH 访问权限的 Ubuntu 20.04 LTS实例和具有根权限的 Sudo 用户。此外,建议使用稳定的互联网连接来安装Nginx软件包。

在 Ubuntu 20.04 上安装 Nginx

1.在安装Nginx之前,更新服务器的包列表。

$ sudo apt update

2.然后通过运行命令安装 Nginx:

$ sudo apt install nginx
如何在 Ubuntu 20.04 上安装 Nginx Web 服务器_ubuntu怎么安装软件_ubuntu安装软件命令

在 Ubuntu 20.04 上安装 Nginx

当提示继续时,按键盘并点击Enter。安装将在几秒钟内完成。'Y'

3.成功安装 Nginx后,您可以通过运行以下功能启动和验证它:

$ sudo systemctl start nginx
$ sudo systemctl status nginx
如何在 Ubuntu 20.04 上安装 Nginx Web 服务器_ubuntu怎么安装软件_ubuntu安装软件命令

在 Ubuntu 20.04 中验证 Nginx

上面的输出清楚地指示Nginx 正在运行。

4.要检查Nginx 的版本,请运行:

$ sudo dpkg -l nginx
如何在 Ubuntu 20.04 上安装 Nginx Web 服务器_ubuntu怎么安装软件_ubuntu安装软件命令

在 Ubuntu 20.04 中检查 Nginx 版本

输出表示我们正在运行Nginx 1.17.10,这是本文写这篇文章时最新版本。

打开 UFW 防火墙上的 Nginx 端口

现在,您已经安装并运行了Nginx,需要进行一些调整才能通过 Web 浏览器访问。如果您正在运行UFW 防火墙,则需要允许Nginx 应用程序配置文件。

有 3 个与 ufw 防火墙关联的 Nginx 配置文件。

  1. Nginx 完整= 这将同时打开端口 80443(对于 SSL / TLS 加密)。
  2. Nginx HTTP = 此仅打开端口 80(用于未加密的 Web 流量)。
  3. Nginx HTTPS = 仅打开端口443(对于 SSL / TLS 加密)。

5.首先在Ubuntu 20.04 上启用防火墙

$ sudo ufw enable

6.目前,由于我们不在加密服务器上,我们只允许Nginx HTTP配置文件允许端口80上的流量。

$ sudo ufw allow 'Nginx HTTP'

7.然后重新加载防火墙以保留更改。

$ sudo ufw reload

8.现在检查防火墙的状态以验证已允许的配置文件。

$ sudo ufw status
如何在 Ubuntu 20.04 上安装 Nginx Web 服务器_ubuntu怎么安装软件_ubuntu安装软件命令

在 Ubuntu 20.04 中打开 Nginx 端口

在 Ubuntu 20.04 上测试 Nginx

Nginx在浏览器上运行,就像您期望的任何 Web 服务器一样,测试其是否运行的最安全的方法是通过浏览器发送请求。

9.因此,请前往您的浏览器,浏览服务器的 IP 地址或域名。要检查服务器的 IP,请运行ifconfig 命令:

$ ifconfig

10.如果您在云服务器上,请运行下面的 curl命令以检索服务器的公共 IP。

$ curl ifconfig.me

11.在浏览器的 URL 字段中,输入服务器的 IP 地址或域名,然后点击Enter

http://server-IP or domain-name

您应该获得默认的Nginx欢迎页面,如图所示。

如何在 Ubuntu 20.04 上安装 Nginx Web 服务器_ubuntu怎么安装软件_ubuntu安装软件命令

检查 Ubuntu 20.04 上的 Nginx 页面

在 Ubuntu 20.04 中管理 Nginx 流程

12.要停止Nginx Web 服务器,只需运行:

$ sudo systemctl stop nginx

13.要使网络服务器再次启动,请执行:

$ sudo systemctl start nginx

14.要在启动或重新启动运行时自动启动Nginx:

$ sudo systemctl enable nginx

15.如果要重新启动 Web 服务器,尤其是在对配置文件进行更改之后,请运行:

$ sudo systemctl restart nginx

16.或者,您可以重新加载以避免丢弃连接,如图所示。

$ sudo systemctl reload nginx

在 Ubuntu 20.04 中配置 Nginx 服务器块

如果您计划在服务器上托管多个站点,则强烈建议您设置Nginx服务器块。服务器块相当于阿帕奇的虚拟主机。

默认情况下,Nginx会附带其默认服务器块,该块设置为在路径上提供 Web 内容。/var/www/html

我们将创建一个单独的Nginx块来服务我们的域的内容。对于本指南,我们将使用域 。
对于您的情况,请确保将其替换为您自己的域名。crazytechgeek.info

17.要创建服务器块文件,首先,为域创建目录,如图所示。

$ sudo mkdir -p /var/www/crazytechgeek.info/html

18.接下来,使用变量将所有权分配给新目录。$USER

$ sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

19.确保您还相应地分配目录权限,允许所有者拥有所有权限(读取、写入和执行),并仅授予其他方读取和执行权限。

$ sudo chmod -R 755 /var/www/crazytechgeek.info

20.在域目录中,创建一个包含域 Web 内容的文件。index.html

$ sudo vim /var/www/crazytechgeek.info/html/index.html

将以下内容粘贴到示例测试文件中。

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
        <h1>Bravo! Your server block is working as expected!</h1>
    </body>
</html>

保存更改并退出文件。

21.对于 Nginx Web 服务器提供您刚刚添加的内容,您需要创建一个包含相应指令的服务器块。在这种情况下,我们在:

$ sudo vim /etc/nginx/sites-available/crazytechgeek.info

粘贴显示的配置。

server {
        listen 80;
        listen [::]:80;

        root /var/www/crazytechgeek.info/html;
        index index.html index.htm index.nginx-debian.html;

        server_name crazytechgeek.info  www.crazytechgeek.info;

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

保存并退出。

22.现在,通过将服务器块文件链接到 Nginx服务器在启动时从该目录读取的站点目录,启用该文件块文件。

$ sudo ln -s /etc/nginx/sites-available/crazytechgeek.info /etc/nginx/sites-enabled/

23.要执行更改,请重新启动Nginx网络服务器。

$ sudo systemctl restart nginx

24.为了确保所有配置都按顺序排列,请运行以下命令:

$ nginx -t

如果所有配置都按顺序排列,则应获取如下所示的输出:

如何在 Ubuntu 20.04 上安装 Nginx Web 服务器_ubuntu怎么安装软件_ubuntu安装软件命令

检查 Ubuntu 20.04 中的 Nginx 配置

25. Nginx Web 服务器现在应提供域的内容。再次,前往您的浏览器并浏览服务器的域。

http://domain-name
如何在 Ubuntu 20.04 上安装 Nginx Web 服务器_ubuntu怎么安装软件_ubuntu安装软件命令

检查 Ubuntu 20.04 中的 Nginx 服务器块

域目录中的自定义内容将如图所示。

重要 Nginx 配置文件

在我们结束之前,我们检查一些与Nginx相关的重要配置文件是至关重要的

Nginx 配置文件

  • /etc/nginx/nginx.conf:这是主配置文件。您可以修改设置以满足服务器的要求。
  • /etc/nginx/站点可用:这是存储服务器块配置的目录。Nginx 仅在服务器块链接到启用站点的目录时才使用服务器块。
  • /etc/nginx/站点启用:该目录包含已启用的每个站点 Nginx 服务器块。

Nginx 日志文件

有两个主要日志文件可用于排除 Nginx Web 服务器的故障:

  • /var/log/nginx/access.log:这记录向 Web 服务器发出的所有请求。
  • /var/log/nginx/error.log:这是错误日志文件,它记录了 Nginx 遇到的所有错误。
结论

我们已经到达了本教程的末尾。我们已经展示了如何在Ubuntu 20.04上安装Nginx,以及如何设置 Nginx 服务器块来提供域的内容。欢迎您的反馈。

 

管理员

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: