Nginx 安装ssl证书报错

服务器腾讯云,centos7
nginx版本: 1.12.0

腾讯云按照步骤安装ssl证书,
最后配置nginx.conf:

终端使用./nginx -t 报错
nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/nginx.conf

阅读 5.8k
1 个回答

从安装nginx到配置nginx的SSL

  • 安装依赖

    yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
  • nginx的下载,解压并安装。

    //进入目录
    cd /usr/local
    
    //创建目录
    mkdir nginx
    
    //进入目录
    cd nginx
    
    //下载nginx tar包
    wget http://nginx.org/download/nginx-1.13.7.tar.gz
    
    //解压nginx tar包
    tar -xvf nginx-1.13.7.tar.gz
    
    //进入目录
    cd /usr/local/nginx
    
    //进入nginx安装目录
    cd nginx-1.13.7
    
    //执行命令
    ./configure
    
    //执行命令
    make
    
    //执行命令
    make install
    
    //启动nginx
    nginx
    
    //如果失败,使用这个命令试一下
    ./nginx
  • 验证是否安装成功

    打开浏览器直接访问机器IP ,会跳转到nginx的welcome页面。
    nginx 安装完成
  • 配置SSL证书

    vi /usr/local/nginx/conf/nginx.conf
    
    server {
    
          listen 443;
          server_name www.test.com; #自己的域名
          ssl on;
          root html;
          index index.html index.htm;
          #这里的.pem/.key文件替换成自己对应的文件名
          ssl_certificate   cert/xxxxxx.pem;
          ssl_certificate_key  cert/xxxxx.key;
          ssl_session_timeout 5m;
          ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
          ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
          ssl_prefer_server_ciphers on;
          // 配置域名根文件
          location / {
            root html;
            index index.html;
          }
        }
  • 重启Nginx

    //进入目录
    cd /usr/local/nginx/sbin
    
    //nginx 重启
    nginx -s reload
    
    //如果报错,使用这个命令试一下
    ./nginx -s reload
  • 如果报错为以下信息,执行SSL模块安装

    nginx: [emerg] unknown directive “ssl” in /usr/local/nginx/conf/ngi…
  • nginx文件夹路径执行以下命令

    ## 先执行SSL模块安装
    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
    1
    
    ## 在nginx安装目录执行make进行编译执行
    make
  • 如果出现以下信息

    / + OpenSSL library is not used
    
    ## 错误原因: 在安装nginx的时候没有指定openssl的解压路径。
    ## 上面./configure的正确的命令如下:
    ## 执行
    ./configure --prefix=/usr/local/nginx  --with-openssl=/usr/local/openssl-1.0.1j --with-http_ssl_module
    1
    ## 如果pcre和zlib出现类似的问题,指定路径就可。
    ## 执行
    --with-pcre=/usr/local/pcre-7.7 --with-zlib=/usr/local/zlib-1.2.3 --with-http_stub_status_module
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题