CentOS 7上重新编译安装nginx

CentOS 7的源所提供的nginx几乎不包含任何扩展模块;为了能够使用一些扩展模块,我们需要从源代码重新编译安装nginx。

目前最新版的源代码是1.6.1。下载解压后先不要急着configure,先看看CentOS本身提供的nginx的configure选项:

# nginx -V

我们尽量使用相同的configure选项重新编译,以使用一致的执行文件与配置文件位置。原有的configure选项中,只需去掉--with-cc-opt和--with-ld-opt选项即可。

将我们需要的扩展模块下载下来后,使用下面的指令在nginx源代码目录进行configure(可能先要yum install gcc-c++):

# auto/configure …… --add-module=../ngx_http_substitutions_filter_module/

上面的指令中,--add-module=后面是扩展模块源代码目录。有多个扩展模块就用多个--add-module。

configure过程中可能会多次抱怨缺某某依赖,一般用yum -y install xxxx-devel就能解决。(编译过程需要这些依赖库的头文件,所以我们要安装xxx-devel。)

几个名字不明显的package:

yum -y install perl-ExtUtils-Embed

yum -y install google-perftools

yum -y install google-perftools-devel 

make之后sudo make install。

因为我们继承了原有nginx的编译配置,所以install后原有的配置文件、日志、执行文件等全都保持在原来的地方,直接systemctl restart nginx即可。

原文地址:https://www.cnblogs.com/byeyear/p/11908586.html