在重啟nginx后發生了錯誤,錯誤如下:
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /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)