CentOS下配置Nginx的https时报错:缺少ngx_http_ssl_module

阅读更多
1.首先,找到Nginx安装包的位置。比如,我的是:/usr/local/src/nginx-1.15.1
cd /usr/local/src/nginx-1.15.1

【查看Nginx版本命令】/usr/local/nginx/sbin/nginx -V  (/usr/local/nginx/是你Nginx服务器的实际位置)

2.生成新的Nginx配置。执行
/usr/local/nginx/sbin/nginx -V  

查看configure arguments:后边有没有值,如果有,就复制下来。

然后执行
./configure --原来有的模块(如果有的话) --with-http_ssl_module

然后覆盖nginx之前的二进制文件(注意,make就可以了,不需要make install)
 make


3.关闭现在运行的Nginx服务器。
/usr/local/nginx/sbin/nginx -s stop

由于我的配置文件报错,缺少

nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:121

所以无法关闭。于是,我尝试把新的正确的nginx.conf替换出问题的nginx.conf。

再次执行关闭,成功。

4.OK,执行最后的步骤。把编译好的nginx覆盖掉原有的nginx。
cp ./objs/nginx /usr/local/nginx/sbin/

此时会询问是否覆盖,输入y同意,开始覆盖。如果提示文件繁忙,也可以先去到nginx安装目录下sbin目录把nginx先停止,再完成上述覆盖操作。

然后我们重启nginx,配置好ssl就可以正常使用了。

    server {
        listen 443 ssl;
        server_name edu.a.com;
        root /home/iaiai/workstation/webapp/www;
#        ssl on;
        ssl_certificate /home/iaiai/workstation/ssl/server.crt;
        ssl_certificate_key /home/iaiai/workstation/ssl/server.key;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!3DES:!aNULL:!eNULL;
        ssl_prefer_server_ciphers on;

        location /api/ {
            #之前http怎么配置的还怎么配置
        }
    }

你可能感兴趣的:(CentOS下配置Nginx的https时报错:缺少ngx_http_ssl_module)