Ubuntu Nginx配置https,解決「parameter requires ngx_http_ssl_module」的問題

今天再作nginx下https配置的時候,配置完nginx重啓的時候,報了以下錯誤: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已經安裝過了,怎麼添加模塊,其實也很簡單,往下看:bash

經過鏈接「http://nginx.org/download/nginx-1.6.2.tar.gz」下載源碼,並解壓到「/usr/local/src/nginx-1.6.2」目錄。ui

步驟開始:線程

切換到源碼包:code

cd /usr/local/src/nginx-1.6.2

查看nginx原有的模塊ssl

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

那麼咱們的新配置信息就應該這樣寫:源碼

bash ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_modul

運行上面的命令便可,等配置完it

配置完成後,運行命令編譯

make

這裏不要進行make install,不然就是覆蓋安裝require

而後備份原有已安裝好的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
相關文章
相關標籤/搜索