内容纲要

🗂 本文目录:NGINX >


简介

NGINX 官网

NGINX (Engine x) 是 HTTP 和反向代理服务器、邮件代理服务器和通用 TCP/UDP 代理服务器,最初由 Igor Sysoev 编写。

NGINX 拥有开源免费的 NGINX 和闭源商业的 NGINX Plus 两个版本,前者的官网后缀为 .org 而后者的是 .com。对于后者,NGINX Plus 在其官网有一个对比开源版的页面:compare-versions

值得一提的是,章亦春Openresty(也分开源版和商业版)和阿里巴巴的 Tengine 都是基于 NGINX 的优秀 Web 平台。

NGINX 相关文档:

选择版本

NGINX 下载

NGINX 开源版主要分为 Mainline 和 Stable 两个分支进行分发,版本号的第二个数字为奇数的是 Mainline 版,偶数的是 Stable 版。

NGINX 官方建议建议随时部署 NGINX 的 Mainline 分支,使用 Stable 分支的主要原因是担心新特性可能带来的影响,比如与第三方模块不兼容,或者无意中在新特性中引入了 bug。但请注意,Stable 并不意味着更可靠或更无 bug。

事实上,通常认为 Mainline 更可靠,因为 NGINX 将所有的 bug 修复都移植到 Mainline 上,而不仅仅是针对 Stable 分支的关键修复。

在 NGINX 中「Stable」一词指的是功能和更新频率,它与软件质量无关。Stable 分支在其生命周期内从不接收新功能,通常只接收一到两次更新,用于修复关键的错误。而 Mainline 分支中开发新特性和修复所有错误。

安装方式

应该选择预先构建的包还是源代码编译来安装 NGINX?

预先构建的包:开箱即用。
使用如 APT 一类的高级包管理系统有很多好处,包的兼容性测试、安装所需要的依赖、安装后的如权限等配置、日后的升级维护都一条龙的解决了。

源代码编译:提供更多的灵活性
而从源代码编译 NGINX 可以添加特定的模块(来自 NGINX 或第三方) ,并应用最新的安全补丁。

添加特定的模块是使用编译安装 NGINX 的主要原因,大多数构建在 NGINX 中的模块是静态链接的:它们在编译时构建在 NGINX 中并静态链接到 NGINX 二进制文件。这些模块只能通过重新编译 NGINX 来禁用。
NGINX 模块也可以编译为共享对象(*.so 文件)。然后在运行时动态加载到 NGINX。这提供了更多的灵活性,因为通过在 NGINX 配置文件中添加或删除相关的 load_module 指令并重新加载配置,可以在任何时候加载或卸载模块。注意,模块本身必须支持动态链接。

后文会介绍使用高级软件包管理系统和源码构建两种安装方式,在初步接触 NGINX 时你可以先选择使用高级软件包管理系统来快速上手,在有需求的时候再转换到源码构建上。

相关文章:


延伸