我们已经选择下载程序源代码进行手动编译,而不是使用软件包管理器(如Yum,Aptitude或Yast)进行安装。 这个选择有两个原因。 首先,软件包可能不包含在您的Linux发行版的存储库中。 此外,提供下载和安装Nginx的存储库经常包含比较旧的版本。 更重要的是,你可能需要配置各种各样的编译选项。 由于选择了手动编译,你的系统需要一些工具和库进行编译安装。
根据您在编译时选择的模块,您可能需要不同的依赖。 下面介绍最常见的依赖,如GCC,PCRE,zlib和OpenSSL。
Nginx是用C编写的程序,因此您首先需要在系统上安装一个编译器工具,如GNU编译器集合(GCC)。 GCC可能已经安装在您的系统上,如果没有,必须先安装它。
首先,通过运行以下命令确保系统上尚未安装GCC:
[alex@example.com ~]$ gcc
如果您得到以下输出,这意味着GCC已经正确安装在您的系统上了,您可以跳到下一部分:
gcc: no input files
如果收到以下消息,则必须继续安装编译器:
~bash: gcc: command not found
对于CentOS系统:
[root@example.com ~]# yum groupinstall "Development Tools"
对于Ubuntu系统:
[root@example.com ~]# apt-get install build-essentials
需要Perl兼容的正则表达式(PCRE)库来编译Nginx。 Nginx的Rewrite和HTTP核心模块使用PCRE作为其正则表达式的语法,在后面的章节中将会发现。 您将需要安装两个软件包:pcre和pcre-devel。 第一个包提供了编译版本的库,而第二个包提供了开发头文件和源?件来编译项目。
如果使用yum,运行以下命令安装:
[root@example.com ~]# yum install pcre pcre-devel
如果使用apt-get,运行以下命?安装:
[root@example.com ~]# apt-get install libpcre3 libpcre3-dev
zlib库为开发人员提供了压缩算法。 在Nginx的各个模块中使用的gzip压缩功能需要zlib库。 同样,您可以使用您的包管理器来安装此组件,因为它默认存在于存储库中。 类似于PCRE,您将需要库及其源进行安装:zlib和zlib-devel。
如果使用yum,运行以下命令安装:
[root@example.com ~]# yum install zlib zlib-devel
如果使用apt-get,运行以下命令安装:
[root@example.com ~]# apt-get install zlib1g zlib1g-dev
Nginx使用OpenSSL库来提供ssl连接。 因此,我们需要安装openssl库及其开发包。需要安装openssl和openssl-devel:
如果使用yum,运行以下命令安装:
[root@example.com ~]# yum install openssl openssl-devel
如果使用apt-get,运行以下命令安装:
[root@example.com ~]# apt-get install openssl openssl-dev
现在您已经安装了所有依赖条件,?以下载并编译Nginx源代码了。
一旦您选择了要使用的版本,请打开http://www.nginx.org并找到您要下载的文件的URL。并使用wget下载该文件:
[alex@example.com ~]$ mkdir src && cd src
[alex@example.com src]$ wget http://nginx.org/download/nginx-1.10.2.tar.gz
[alex@example.com src]$ tar zxf nginx-1.10.2.tar.gz
您已成功下载并解压Nginx。 现在,下一步?是配置编译过程。