如果要使用 Nginx 的常用功能,那么首先需要确保该操作系统上至少安装了如下软件。
(1) GCC 编译器
GCC(GNU Compiler Collection)可用来编译 C 语言程序。我们可以使用最简单的 yum 方式安装 GCC,例如:
yum install -y gcc
GCC 是必需的编译工具。G++ 编译器也可以用 yum 安装,例如:
yum install -y gcc-c++
(2) PCRE 库
PCRE(Perl Compatible Regular Expressions,Perl 兼容正则表达式) 是由 Philip Hazel
开发的函数库,目前为很多软件所使用,该库支持正则表达式。它由 RegEx 演化而来,实际上,Perl 正则表达式也是源自于 Henry Spencer
写的 RegEx。
如果我们在配置文件 nginx.conf 里使用了正则表达式,那么在编译 Nginx 时就必须把
PCRE 库编译进 Nginx,因为 Nginx 的 HTTP 模块要靠它来解析正则表达式。当然,如果你确认不会使用正则表达式,就不必安装它。其 yum
安装方式如下:
yum install -y pcre pcre-devel
pcre-devel 是使用 PCRE 做二次开发时所需要的开发库, 包括头文件等, 这也是编译Nginx 所必须使用的。
(3) zlib 库
zlib 库用于对 HTTP 包的内容做 gzip 格式的压缩,如果我们在 nginx.conf 里配置了
gzipon,并指定对于某些类型(content-type)的 HTTP 响应使用 gzip 来进行压缩以减少网络传输量,那么,在编译时就必须把 zlib
编译进 Nginx。其 yum 安装方式如下:
yum install -y zlib zlib-devel
同理,zlib 是直接使用的库,zlib-devel 是二次开发所需要的库。
(4) OpenSSL 开发库
如果我们的服务器不只是要支持 HTTP,还需要在更安全的 SSL 协议上传输 HTTP,那么就需要拥有 OpenSSL 了。另外,如果我们想使用
MD5、SHA1 等散列函数,那么也需要安装它。其 yum 安装方式如下:
yum install -y openssl openssl-devel
上面所列的 4 个库只是完成 Web 服务器最基本功能所必需的。
Nginx 是高度自由化的 Web
服务器,它的功能是由许多模块来支持的。而这些模块可根据我们的使用需求来定制,如果某些模块不需要使用则完全不必理会它。同样,如果使用了某个模块,而这个模块使用了一些类似
zlib 或 OpenSSL 等的第三方库,那么就必须先安装这些软件。