注意:阿里云版本
具体条件:已有阿里的服务器和域名
停止已经运行的nginx服务
./nginx -s stop
申请免费的域名
前往自己的 阿里云中的控制台,找到 SLL证书(应用安全) 这个导航
在左侧 数字证书管理服务 中点击SSL证书
点击 免费证书 后选择 立即购买
有20个可 免费 供我们使用
配置证书
点击 创建证书 选择 证书申请 配置绑定相应的域名信息等其它相关信息
配置成功下载文件
选择对应的 nginx 下载,并且打开对应的 帮助手册
常见问题
1. 未找到SSL模块
# nginx: [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx
解决方法:
这表示,你已经安装的Nginx服务未装SSL模块,你需要去解压的源文件中重新安装一下SSL模块,然后替换掉Nginx的启动服务即可。
找到解压的文件包
进入根目录
cd /
查找nginx相关的目录
find -name nginx*
红框中表示的是我们之前解压后的nginx文件,进入这个文件,看见configure
执行文件
安装模块
执行命令
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
若执行make
出现错误可能是缺少某些依赖,安装以下内容后重新执行make
yum -y install gcc-c++
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
编译后会生成objs
文件
替换原nginx的可执行文件
进入文件夹
cd objs/
替换之前的nginx
可执行文件
cp /root/nginx/objs/nginx /usr/local/nginx/sbin
重新启动服务
./nginx -s reload
2. 重启时遇到问题
nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)
解决办法
使用nginx -c的参数指定nginx.conf文件的位置
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf