nginx添加模块(非覆盖安装)



原已经安装好的nginx,现在需要添加一个未被编译安装的模块:

查看原来编译时都带了哪些参数
# /usr/local/nginx/sbin/nginx -V

nginx version: nginx/1.8.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) 
configure arguments: --prefix=/usr/local/nginx --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre




进入nginx源码目录
#cd nginx-1.3.2

添加的参数 (添加之前已经过的编译模块,不然最后只有新编译模块)
#./configure --prefix=/usr/local/nginx --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre --with-http_ssl_module



编译
#make   {不要make install,否则就是覆盖安装}
make完之后在objs目录下就多了个nginx,这个就是新版本的程序了

替换nginx二进制文件
#cp /usr/local/nginx/sbin/nginx  /usr/local/nginx/sbin/nginx.bak    (备份之前的nginx二进文件)
#cp ./objs/nginx  /usr/local/nginx/sbin/ 


测试新的nginx程序是否正确
#/usr/local/nginx/sbin/nginx -t

nginx: theconfiguration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx:configuration file /usr/local/nginx/conf/nginx.conf test issuccessful

重新加载nginx
/usr/local/nginx/sbin/nginx -s reload


查看ngixn版本极其编译参数
/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.8.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) 
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre --with-http_ssl_module


++++++++++++++++++++++++++++++++
昨天在网上找的这方面的资料都显示,只需要安装现在需要的就可以,经过我多次测试,最后nginx -V 显示出来只有新的安装,之前的编译都没有显示,所以要使用新的nginx 模块一定要把之前的编译过的 再一次安装。
重点:只需要make ,不需要make instll (make install 会把你之前的配置都覆盖掉)!

via.http://ask.apelearn.com/question/12713