Linux Nginx配置https,解決“parameter requires ngx_http_ssl_module”的問題
阿新 • • 發佈:2020-07-21
今天再做nginx下https配置的時候,配置完nginx重啟的時候,報瞭如下錯誤:
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:37
原因也很簡單,nginx缺少http_ssl_module模組,編譯安裝的時候帶上--with-http_ssl_module配置就行了,但是現在的情況是我的nginx已經安裝過了,怎麼新增模組,其實也很簡單,往下看:
下載與本地相同的版本,我的是1.6.2版本(其他版本下載方式同理)。連線“http://nginx.org/download/nginx-1.6.2.tar.gz”下載原始碼,並解壓到“/usr/local/src/nginx-1.6.2”目錄。
步驟開始:
切換到原始碼包:
cd/usr/local/src/nginx-1.6.2
檢視nginx原有的模組
/usr/local/nginx/sbin/nginx-V
那麼我們的新配置資訊就應該這樣寫:
bash ./configure--prefix=/usr/local/nginx--with-http_stub_status_module--with-http_ssl_module
執行上面的命令即可,等配置完
配置完成後,執行命令
make
這裡不要進行make install不要進行make install不要進行make install (重要的事情說三遍),否則就是覆蓋安裝
然後備份原有已安裝好的nginx
cp/usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx.bak
然後將剛剛編譯好的nginx覆蓋掉原有的nginx(這個時候nginx要停止狀態)
這個命令可能會出現“file busy”的問題,這是因為nginx其他執行緒佔用,使用命令“fuser /usr/local/nginx/sbin/nginx” 檢視佔用執行緒名稱,kill即可。
cp./objs/nginx/usr/local/nginx/sbin/
提示是否覆蓋,輸入yes即可
然後啟動nginx,仍可以通過命令檢視是否已經加入成功
/usr/local/nginx/sbin/nginx-v推薦:鋅聞網