|
|
51CTO旗下网站
|
|
移动端

1.2.1 准备编译环境

《精通Nginx(第2版)》第1章安装Nginx及第三方模块,本章将详细讲述如何安装Nginx,以及如何获取正确的模块并安装与配置它们。Nginx是模块化设计的,并且有非常丰富的第三方模块开发者社区。本节为大家介绍准备编译环境。

作者:李红军 译来源:人民邮电出版社|2017-08-28 20:42

1.2 从源代码安装Nginx

Nginx 代码提供了两种独立的下载分支——开发版与稳定版。开发分支是一个正处于积极开发状态的版本。在这个版本中,会有一些新功能被集成到其中,在稳定版中是找不到这些功能的。当发布一个“开发”版时,它会经历同样的QA和作为稳定版的一组类似功能测试。因此,无论哪一个分支都可以用于生产环境中。两者主要的不同,在于对第三方模块的支持。在开发版中,内部的API可能会发生改变,而稳定版则保持不变。因此,为了与第三方模块向下兼容,在稳定版中第三方模块都可以有效使用。

1.2.1 准备编译环境

为了从源代码编译Nginx,系统需要满足某些必要条件。除了编译器之外,如果想分别启用SSL支持和使用rewrite模块,那么还需要提供相应的OpenSSL与PCRE(Perl Compatible Regular Expressions)库及开发头文件。rewrite模块是默认安装的。如果你没有PCRE库与开发头文件,你需要在配置阶段禁用rewrite模块。这依赖于系统,也有可能在系统中已经默认安装了这些必要条件。如果没有安装,则需要从其安装包安装或者从源码下载并解压安装,并在Nginx的配置脚本文件中指定它们在系统中的安装位置。

如果在配置文件中使用了--with-<library>=<path>选项,那么Nginx会试图建立一个静态依赖库。如果你想让Nginx不依赖于系统任何其他部分,或是想多获得些nginx的二进制额外性能,那么你可能会使用构建静态库的做法。如果你使用的外部库功能只能从某一个版本起有效(例如,NPN[Next Protocol Negotiation] TLS扩展从OpenSSL 1.0.1版有效),那么你就不得不将其指定到特定版本解压后的源代码路径中。

根据自己的喜好,你可能会提供其他的、可选安装包。你可以为这些安装包提供支持。它们包括MD5和SHA-1以支持散列算法、zip压缩库、libatomic库。在Nginx中,很多地方会用到散列算法,例如,为了计算URI散列进而计算缓存key。

zlib压缩库被用来投递gzip压缩内容。如果atomic_ops库有效,那么Nginx会用它来实现自动内存更新操作,以便实现高性能的内存锁定代码。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

一目了然——Web软件显性设计之路

本书阐述了为什么以及如何设计出简单易用的基于Web的软件,让用户单凭常识即可有效地使用它。主要内容包括:显性设计的概念、如何理解用户...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊