NGINX.COM
Web Server Load Balancing with NGINX Plus

NGINX Plus 是一个用于交付高性能 Web 应用的强大平台。其部分优势在于 NGINX 社区中有大量的开发人员在 NGINX 开源版基础上贡献新的特性和功能。社区开发的新特性可以以模块的形式使用,这些模块可以动态插入到正在运行的 NGINX Plus 实例中。

例如,借助社区贡献(和 NGINX 编写)的模块,您可以根据 IP 地址定位用户并将其引导至相应语言的站点,您还可以调整图像大小以节省带宽,或者嵌入 Lua 脚本(用以实现复杂的路由规则和安全防护操作)。

NGINX 维护着一个第三方模块的代码库(repo),这些模块已经经过充分的测试和认证,与 NGINX Plus 具有互操作性。当您加载这些模块以将其动态到插入正在运行的 NGINX Plus 实例时,NGINX Plus 和您选择的模块都会得到 NGINX 团队的完全支持。请参见动态模块页面,以获取完整列表。

不在列表中的第三方模块和自定义模块也可以编译并动态加载到正在运行的 NGINX Plus 实例中。请参阅我们的博客,以获取进一步说明。

NGINX Plus allows features to be plugged in on demand
不同特性可以按需插入到 NGINX Plus 中

在编写自己的模块时,我们鼓励开发人员参阅我们有关扩展 NGINX 的文档。文档中包括了我们已发布的 API 以及相关示例。

 

立即开始使用

NGINX Plus 代码库包括由 NGINX 编写的动态模块和由社区贡献者编写的认证模块。您可以使用 aptyum 等标准的软件包管理工具来访问和安装它们。

NGINX Plus 认证模块由该模块的作者进行发行。要获取 NGINX Plus 认证模块,请单击“动态模块(Dynamic Modules) ”页面上的模块条目,然后单击“获取模块(Get Module)”按钮。

  1. 将您的软件包管理工具配置为从 NGINX Plus 代码库中获取软件包,而非使用操作系统供应商提供的软件包。

  2. 安装 nginx‑plus 基础镜像。以下命令适用于基于 Debian 的系统。

    # apt-get update
    # apt-get install nginx-plus
  3. 安装任何您想要动态加载的模块。

    • 对于认证模块,请遵循供应商的使用说明。

    • 请就 NGINX Plus 代码库中的每个模块重复以下命令。您可以通过单击“动态模块(Dynamic Modules)”页面上的模块条目来查看安装说明,以便查找要替代下面代码中 module‑name 的模块名称。例如,nginx-plus-module-njs 就是 NGINX JavaScript 模块。

      请注意,由于操作系统的限制,某些模块不适用于某些操作系统版本。要查看模块支持的操作系统版本,请单击“动态模块(Dynamic Modules) ”页面上模块的条目。

      # apt-get install module-name
  4. /etc/nginx/nginx.conf 的主(顶级)上下文中,为每个可动态加载的模块添加一个 load_module 指令。如下方所示,模块的常规目录是 /etc/nginx/modules

    load_module modules/module-name.so;
  5. 检查新的配置的语法是否正确,并重新加载 NGINX Plus。

    # nginx -t && nginx -s reload

    nginx.confload_module 指令中列出的模块会被动态加载到 NGINX Plus 中。