![在这里插入图片描述](https://img-blog.csdnimg.cn/5dd4d1c080a8426a89b156bc3eed68dc.png)
如果看到我上图标记得 configure arguments: --with-http\_ssl\_module, 则已安装(可以直接跳过nginx安装ssl支持步骤,进入 nginx.conf 配置)。
### 3,nginx安装
###### 3.1 nginx官网地址
下载地址:<http://nginx.org/en/download.html>
这里下载nginx-1.18.0稳定版tar.gz
##### 3.2 下载tar包到服务器目录
cd /home/somnus
wget http://nginx.org/download/nginx-1.18.0.tar.gz
##### 3.3 解压安装包
tar -zxvf nginx-1.18.0.tar.gz
##### 3.4 配置ssl模块
cd nginx-1.18.0
./configure --prefix=/usr/local/nginx --with-http_ssl_module
我们只需要执行以上命令即可,由于我服务器上还有其他模块依赖
##### 3.5 接下来执行命令编译
使用 make 命令编译(使用make install会重新安装nginx),此时当前目录会出现 objs 文件夹。用新的 nginx 文件覆盖当前的 nginx 文件。
![在这里插入图片描述](https://img-blog.csdnimg.cn/c292a1e49c5d4aafb46a3e9f7df88da8.png)
##### 3.6 命令拷贝复制
cp ./objs/nginx /usr/local/nginx/sbin/
##### 3.7 再次查看安装的模块(configure arguments: --with-http\_ssl\_module说明ssl模块已安装)。
./nginx -V
nginx version: nginx/1.18.0
…
configure arguments: –with-http_ssl_module
#### 4. ssl 证书部署
下载申请好的 ssl 证书文件压缩包到本地并解压(这里是用的 pem 与 key 文件,文件名可以更改)。
在 nginx 目录新建 cert 文件夹存放证书文件。
cd /usr/local/nginx
mkdir cert
将我们申请得这两个文件上传至服务器的 cert 目录里。
![在这里插入图片描述](https://img-blog.csdnimg.cn/a0d129e884c14cc89c017b52f8c29f33.png)
##### 4.1. nginx.conf 配置
编辑 /usr/local/nginx/conf/nginx.conf 配置文件:
配置 https server。
注释掉之前的 http server 配置,新增 https server:
server {
listen 443 ssl;
server_name somnus.test.com;
ssl_certificate ../cert/somnus.test.com.pem;
ssl_certificate_key ../cert/somnus.test.com.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
…
}
##### 4.2 将 http 重定向 https
server {
listen 80;
server_name somnus.test.com;
#将请求转成https
rewrite ^(.*)$ https://$host$1 permanent;
}
##### 4.5 重启 nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
如果 80 端口被占用,可以通过kill命令来进行结束进程:
#### 5 查看端口使用
netstat -lntp
执行看到以下结果就说明我们成功了
### 最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
### 资料预览
给大家整理的视频资料:
![](https://img-blog.csdnimg.cn/img_convert/b46172e22d5b4105dcb4ac904d9d77b3.png)
给大家整理的电子书资料:
![](https://img-blog.csdnimg.cn/img_convert/2a39ed361161eab7ffb9fb00b5d6b522.png)
**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**