咱们下载源代码包而且手动编译,而不是使用包管理工具,例如Yum,Aptitude等来安装。这么作有两个缘由。首先,在Linux发布版本中,该包可能无效,实际上,不多有提供下载和自动安装的仓库,即便有,大部分包含的也是过时的版本。其次,更重要的是,有一个不得不提的事实,咱们须要在编译时对多种重要的选项进行配置,也正是基于这种状况,才有了不起不手动编译安装的需求,所以也就导致你须要在系统上安装些工具和库文件,在Nginx编译时根据须要进行处理。在这里,咱们将指导你安装最多见的工具和库,例如GCC,PCRE,zlib和OpenSSL。正则表达式
GCC——GNU编译器集合算法
Nginx是一个由C语言编写的程序,所以首先须要在系统上安装一个编译工具,例如GNU的GCC,GCC一般由大多数Linux的发行版本安装,但若是由于某种缘由没有安装,那么这一步必须进行。shell
首先肯定系统上是否已经安装GCC:安全
$ gcc
若是有下面的输出,则代表GCC已经正确安装在系统上:bash
gcc: no input files
若是收到下面的消息,则必须安装和编译GCC:服务器
-bash:gcc: command not found
GCC可使用默认包管理器的仓库(repositories)来安装,包管理器的选择依赖于你使用的Linux发布版本,包管理器有不一样的实现:yum是基于Red Hat的发布版本;apt用于Debian和Ubuntu;yast用于SuSE Linux等等。工具
RedHat中安装GCC:spa
# yum install gcc
Ubuntu中安装GCC:code
# apt-get install gcc
PCRE库ip
Nginx编译须要PCRE(Perl Compatible Regular Expression),由于Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里须要安装两个安装包pcre和pcre-devel。第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码,这正是咱们须要的理由。
RedHat中安装:
# yum install pcre pcre-devel
或者安装与PCRE相关的全部安装包:
# yum install pcre*
Ubuntu中安装:
# apt-get install libpcre3 libpcre3-dev
zlib库
zlib库提供了开发人员的压缩算法,在Nginx的各类模块中须要使用gzip压缩。如同安装PCRE同样,一样须要安装库和它的源代码:zlib和zlib-devel。
RedHat中安装:
# yum install zlib zlib-devel
Ubuntu中安装:
# apt-get install zlib1g zlib1g-dev
OpenSSL
在Nginx中,若是服务器提供安全网页时则会用到OpenSSL库,咱们须要安装库文件和它的开发安装包(openssl和openssl-devel)。
RedHat中安装:
# yum install openssl openssl-devel
Ubuntu中安装(注:Ubuntu14.04的仓库中没有发现openssl-dev):
# apt-get install openssl openssl-dev