1、查看nginx安裝的全部模塊,執行命令:nginx
cd /usr/local/nginx/sbinvim
./nginx -Vapi
是否存在模塊http_ssl_module,若是已存在直接進行第三步,不然進行第二步;session
2、給已經安裝的nginx添加http_ssl_module模塊阿里雲
一、查看已安裝的nginx版本,執行命令:spa
cd /usr/local/nginx/sbincode
./nginx -Vserver
二、下載對應版本的nginx源碼壓縮包(本人的是nginx/1.16.0),下載到目錄 /usr/local 後進行編譯,執行命令:blog
unzip nginx-1.16.0.zip;ip
cd nginx-1.16.0;
./configure ###這裏添加的是原來已安裝的模塊,即:上文查看nginx是否安裝http_ssl_module模塊時查詢出來的已安裝模塊,在結尾加上要添加的模塊(例如:./configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --http-scgi-temp-path=/var/temp/nginx/scgi --add-module=/usr/local/fastdfs-nginx-module/src --with-http_stub_status_module --with-http_ssl_module);
make;
三、make完以後,也就是編譯完成以後會在當前目錄下的objs下生成一個剛剛編譯的nginx二進制文件,將已安裝nginx上的與之替換
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_bak
cp /usr/local/nginx-1.16.0/sbin/nginx /usr/local/nginx/sbin/nginx
3、安裝ssl證書
一、上傳在阿里雲或其餘地方購買的ssl證書到nginx安裝目錄
cd /usr/local/nginx
mkdir cert
cd cert
rz ####上傳ssl證書
#####配置nginx
cd ../conf
vim nginx.conf #####配置以下:
server { listen 443 ssl; server_name 域名/ip; ssl_certificate ###證書的pem文件路徑,例如(/usr/local/nginx/cert/1.pem); ssl_certificate_key ###證書的key文件路徑,例如(/usr/local/nginx/cert/2.key); ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ####配置的轉發地址 location /api { proxy_pass http://127.0.0.1:21010;
proxy_set_header Host $host; proxy_set_header X-real-ip $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
二、從新啓動nginx
cd /usr/local/nginx/sbin
./nginx -c /usr/local/nginx/conf/nginx.conf