Nginx发音为“ engine x”,是一种开源的高性能HTTP和反向代理服务器,负责处理Internet上一些最大站点的负载。 它可用作HTTP和非HTTP服务器的独立Web服务器,负载均衡器,内容缓存和反向代理

与Apache相比,Nginx可以处理大量并发连接,并且每个连接的内存占用量较小。

本教程介绍了如何在Ubuntu 20.04上安装和管理Nginx。

先决条件

在继续之前,请确保您以位用户的身份使用sudo特权登录,并且端口80或443上没有运行Apache或任何其他进程。

安装Nginx

Nginx在默认的Ubuntu存储库中可用。 要安装它,请运行以下命令:

sudo apt update

安装完成后,Nginx服务将自动启动。 您可以通过运行以下命令进行验证:

sudo systemctl status nginx

输出将如下所示:

● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-05-02 20:25:43 UTC; 13s ago
...

Nginx已安装在您的Ubuntu计算机上。 您可以以与其他任何systemd单元相同的方式管理Nginx服务

配置防火墙

现在您已经在服务器上安装并运行了Nginx,您需要确保将防火墙配置为允许HTTP(80)和HTTPS(443)端口上的通信。 假设您使用的是 UFW ,则可以通过启用“ Nginx Full”配置文件来实现此目的,其中包括两个端口的规则:

sudo ufw allow 'Nginx Full'

要验证状态类型:

sudo ufw status

输出将类似于以下内容:

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
Nginx Full                 ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
Nginx Full (v6)            ALLOW       Anywhere (v6)

测试安装

要测试新安装的Nginx,请在您选择的浏览器中打开http://YOUR_IP,您应该会看到默认的Nginx页面

Nginx配置文件的结构和最佳做法

  • 所有Nginx配置文件都位于/etc/nginx目录中。
  • 主要的Nginx配置文件为/etc/nginx/nginx.conf
  • 为使Nginx配置更易于维护,它建议为每个域创建一个单独的配置文件。您可以根据需要拥有任意数量的服务器块文件。
  • Nginx服务器块文件存储在/etc/nginx/sites-available目录中。 Nginx不会使用在此目录中找到的配置文件,除非它们链接到/etc/nginx/sites-enabled目录。
  • 要激活服务器块,您需要从配置文件站点创建符号链接(指针) sites-available目录中的sites-enabled目录。
  • 建议遵循标准命名约定。例如,如果您的域名是mydomain.com,则您的配置文件应命名为/etc/nginx/sites-available/mydomain.com.conf
  • /etc/nginx/snippets目录包含可包含在server block文件中的配置摘要。如果使用可重复的配置段,则可以将这些段重构为片段,并将片段文件包括到服务器块中。
  • Nginx日志文件(access.logerror.log)位于/var/log/nginx中目录。建议每个服务器块使用不同的accesserror日志文件。
  • 您可以将域文档根目录设置为所需的任何位置。 Webroot的最常见位置包括:
  • /home/<user_name>/<site_name>
  • /var/www/<site_name>
  • /var/www/html/<site_name>
  • /opt/<site_name>

结论

我们已向您展示了如何在Ubuntu 20.04上安装Nginx。 现在,您可以开始部署应用程序,并将Nginx用作Web或代理服务器。

如果您有任何问题或反馈,请随时发表评论。