nginx添加模块(非覆盖安装)
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