如何在Ubuntu 16.04上安装Nginx

Nginx发音为“ engine x”,是一种免费的,开源的,高性能HTTP和反向代理服务器,为Internet上一些最大的站点提供支持。

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

在本教程中,我们将讨论如何在Ubuntu 16.04系统上安装和管理Nginx。

先决条件

在开始本教程之前,请确保您以具有sudo特权的用户身份登录,并且端口80或443上没有运行Apache或任何其他服务。

安装Nginx#

Nginx软件包在Ubuntu默认软件存储库中可用。 安装非常简单,只需运行以下命令:

sudo apt updatesudo apt install nginx

安装完成后,通过键入以下命令检查Nginx服务的状态:

sudo systemctl status nginx

输出应显示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 Sun 2018-01-05 15:44:04 UTC; 1min 59s ago
 Main PID: 1291 (nginx)
   CGroup: /system.slice/nginx.service
           ├─1291 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
           └─1293 nginx: worker process

要检查Nginx版本,请执行以下操作:

sudo nginx -v
nginx version: nginx/1.10.3 (Ubuntu)

调整防火墙号

假设您正在使用 UFW 要管理防火墙,您需要打开HTTP(80)和HTTPS(443)端口。

为此,您可以启用“ 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 PPA存储库安装Nginx

Ubuntu存储库中的Nginx软件包通常已过时。 要安装最新的Nginx版本,请使用官方的Nginx PPA存储库。

请按照以下步骤在Ubuntu 16.04上安装最新版本的Nginx:

  1. 首先安装 software-properties-common 包:

    sudo apt install software-properties-common
  2. 使用以下命令添加Nginx PPA存储库:

    sudo add-apt-repository ppa:nginx/stable
  3. 更新软件包列表并安装Nginx:

    sudo apt updatesudo apt install nginx
  4. 安装完成后,请使用以下命令检查Nginx版本:

    sudo nginx -v

    输出将如下所示:

    nginx version: nginx/1.12.2

使用systemctl#管理Nginx服务

您可以通过与其他任何systemd单元相同的方式来管理Nginx服务。

  • 要停止Nginx服务,请运行:

    sudo systemctl stop nginx
  • 要启动Nginx服务,请输入:

    sudo systemctl start nginx
  • 重新启动Nginx服务:

    sudo systemctl restart nginx
  • 进行一些配置更改后,请重新加载Nginx服务:

    sudo systemctl reload nginx
  • 禁用Nginx服务以在启动时启动:

    sudo systemctl disable nginx
  • 重新启用Nginx服务以再次启动:

    sudo systemctl enable 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 目录包含可包含在服务器阻止文件中的配置摘要。 如果使用可重复的配置段,则可以将这些段重构为片段,并将片段文件包括到服务器块中。
  • 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 18.04服务器上成功安装了Nginx。 现在,您准备开始部署应用程序并将Nginx用作Web或代理服务器。

如今,安全证书是所有网站的“必备”功能,要使用免费的“让我们加密SSL”证书来保护您的网站,可以查看以下指南:

让我们在Ubuntu 16.04上加密来保护Nginx

nginx ubuntu

Sidebar