阿里云輕量應用服務器預安裝的 Nginx 默認沒有 ssl-module,當需要使用 https 進行訪問時,在配置 nginx.conf 并重啟后,會提示如下:
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf
解決辦法:在服務器上重裝下載 nginx 相應版本的源碼包(原因:鏡像上面沒有源碼包;如有,則可不用重新下載,找到源碼包所在目錄即可),重新編譯安裝,過程步驟如下:
- 假設(shè) nginx 安裝在如下目錄: /usr/local/nginx
- 運行
cd sbin
,進入 sbin 子目錄,進入后當前目錄為 /usr/local/nginx/sbin - 運行
nginx -V
,查看版本信息(目的:獲取相同版本的源碼包用),假設(shè)為 v1.12.1; - 回到 /usr/local 目錄, 運行
wget http://nginx.org/download/nginx-1.12.1.tar.gz
,獲取源碼包 - 運行
tar zxvf nginx-1.12.1.tar.gz
,解碼 - 運行
cd nginx-1.12.1
,進入包的目錄 - 運行
./configure --prefix=/usr/local/webserver/nginx --with-http_ssl_module
,配置參數(shù) - 運行
make
,編譯(注:不要 make install,避免覆蓋原有的配置文件); - 運行
cp /usr/local/nginx/sbin/nginx ~/
(復制編譯后的需要的新的可執(zhí)行文件,避免覆蓋原有的配置文件) - 運行
cp objs/nginx /usr/local/nginx/sbin/
(復制編譯后的需要的新的可執(zhí)行文件,避免覆蓋原有的配置文件) - 完成