原文鏈接:https://blog.seosiwei.com/detail/28
nginx已安裝,ssl模塊未安裝的解決方法:
如果需要在linux中編譯自己的nginx服務器,請參照:https://www.cnblogs.com/zkfopen/p/10118627.html
一:開始Nginx的SSL模塊
Nginx如果未開啟SSL模塊,配置Https時提示如下錯誤:
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf
解釋:nginx缺少http_ssl_module模塊,需要在已安裝的nginx中添加ssl模塊。
說明:我的nginx安裝目錄為:/usr/local/nginx , 源碼包在/usr/src/nginx-1.5.9目錄
Nginx開啟SSL模塊:
切換到源碼包: cd /usr/src/nginx-1.5.9 查看nginx原有的模塊 /usr/local/nginx/sbin/nginx -V 在configure arguments:后面顯示的原有的configure參數如下: --prefix=/usr/local/nginx --with-http_stub_status_module
二:從新配置SSL模塊:
進入nginx源碼包目錄,運行: ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
配置完成后,運行命令make命令:
make
注意:此處不能進行make install,否則就是覆蓋安裝
三:替換已安裝好的nginx包
替換之前先備份:
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
先停止nginx服務:
//查詢nginx主進程號
$ ps -ef | grep nginx //從容停止Nginx:
$kill -QUIT 主進程號 //快速停止Nginx:
kill -TERM 主進程號 //強制停止Nginx:
pkill -9 nginx
將剛剛編譯好的nginx覆蓋掉原有的nginx
cp ./objs/nginx /usr/local/nginx/sbin/
然后啟動nginx,仍可以通過命令查看是否已經加入成功
/usr/local/nginx/sbin/nginx -V
此時應該顯示為即配置成功:
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
