1. 程式人生 > 實用技巧 >Nginx SSL https 新增新模組

Nginx SSL https 新增新模組

1 檢視現有安裝模組

/usr/local/nginx/sbin/nginx  -V

nginx version: nginx/1.10.3
 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module

包含了現使用的Nginx 版本和安裝的模組。

2 查詢源安裝包目錄,如果沒有也可按上面查詢的現使用版去下載個一樣的

3 把需要增加的模組再重新編譯一下。

4 備份現用的 nginx

5 編譯好的 sobj 資料夾下編譯好的 nginx 檔案,拷貝到 現執行的資料夾下,覆蓋現執行的 nginx 檔案。如果覆蓋不成功可以先停止 nginx.

以下內容轉自:https://www.cnblogs.com/zhangxiaoliu/p/6183520.html

安裝成功的nginx如何新增未編譯模組?

在重啟nginx後發生了錯誤,錯誤如下:

nginx: [emerg] the "ssl" parameterrequires ngx_http_ssl_modulein /usr/local/nginx/conf/nginx.conf:117 //說明缺少http_ssl_module模組
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

解決方法如下:

步驟1:檢視nginx編譯安裝時的命令,安裝了哪些模組和nginx版本

  /usr/local/nginx/sbin/nginx -V

  

  會顯示如下資訊:

nginx version: nginx/1.7.7
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) 
configure arguments: --prefix=/usr/local/nginx --user=www --group=www

步驟2:重新編譯 nginx-1.7.7

  wget http://nginx.org/download/nginx-1.7.7.tar.gz
  tar zxvf nginx-1.7.7.tar.gz   cd nginx-1.7.7   //configure引數要和步驟1的configure arguments一模一樣   ./configure --prefix=/usr/local/nginx --with-http_ssl_module --user=www --group=www   make (沒有make install)

步驟3:備份nginx的二進位制檔案

  cp /usr/local/nginx/sbin/nginx  /usr/local/nginx/sbin/nginx.bak

步驟4:覆蓋nginx的二進位制檔案

  cp objs/nginx   /usr/local/nginx/sbin/

  會提醒如下資訊:

  cp:是否覆蓋"/usr/local/nginx/sbin/nginx"? y
  cp: 無法建立普通檔案"/usr/local/nginx/sbin/nginx": 文字檔案忙 (nginx二進位制檔案繁忙,可以停止nginx,再試一次就可以了)

步驟5:重啟nginx

  service nginx start (或/etc/init.d/nginx start)