下載Nginx源碼(儘量與原來版本一樣,此處我使用的是 nginx-1.5.1.tar.gz)
tar -zxf nginx-1.5.1.tar.gz
cd nginx-1.5.1
之前使用的編譯參數爲: ./configure --prefix=/usr/local/webserver/nginx
使用 nginx -V 可以看到沒有添加任何模塊:
[root@iZ25ljcq1ahZ vhost]# /usr/local/webserver/nginx/sbin/nginx -V nginx version: nginx/1.5.1 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) configure arguments: --prefix=/usr/local/webserver/nginx
下面是重新編譯時的代碼和使用的模塊:
./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module
然後make, make執行完只有千萬不要執行make install,否則就會覆蓋安裝了,那就呵呵了。。。
在make執行完之後,在源碼目錄中的objs目錄中有一個可執行的nginx文件,這個就是重新編譯後的程序了。
備份舊的nginx文件:
cd /usr/local/webserver/nginx/sbin
mv nginx nginx.bak
將新的nginx文件放入到sbin中:
cp nginx-1.5.1/objs/nginx /usr/local/webserver/nginx/sbin
測試一下新的程序是否正確:
[root@iZ25ljcq1ahZ objs]# /usr/local/webserver/nginx/sbin/nginx -t nginx: the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/webserver/nginx/conf/nginx.conf test is successful
經檢查沒有問題,平滑啓動或者重啓nginx服務器後,查看nginx新版本及其編譯參數:
[root@iZ25ljcq1ahZ ~]# /usr/local/webserver/nginx/sbin/nginx -V nginx version: nginx/1.5.1 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) TLS SNI support enabled configure arguments: --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module
發現新添加的模塊已經安裝完成了