美文网首页
nginx配置和ssl证书的配置

nginx配置和ssl证书的配置

作者: 小小少年小阿清 | 来源:发表于2019-04-30 15:14 被阅读0次

    关于nginx配置和ssl证书的配置。

    我所知道nginx的安装有以下两种方法:

    1. yum 安装
    2. 源码安装

    噔噔噔~有两种方法任君选择,但是请注意,虽然yum安装相对来说比较简单方便,但如果你的小服务器上需要配置SSL证书或者要安装一些模块的话,一定要用源码安装,这可是血的教训。因为之前搭建环境的时候为了方便直接用了yum安装,结果导致配置SSL证书时,找不到./configure,最后不得不删除nginx重新用源码安装。废话不多说,下面上教程。

    当前的linux系统版本信息是这样的:

    #cat /etc/redhat-release
    Red Hat Enterprise Linux Server release 6.5 (Santiago)
    

    第一步:
    在官网上http://nginx.org/download/上下载相应的版本
    第二步:
    解压 tar -zxvf nginx-XXX.tar.gz 形成一个安装目录Nginx-XXX
    第三步:
    1.找个地方新建一个编译目录nginx(例:/usr/local/nginx-1.13.6-compile-new)。
    #mkdir nginx

    2.进入安装目录,cd Nginx-XXX,执行加载模块。
    #./configure --prefix=/usr/local/nginx-1.13.6-compile-new --conf-path=/usr/local/nginx-1.13.6-compile-new/conf/nginx.conf --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module

    第四步:
    #make //编译 (make的过程是把各种语言写的源码文件,变成可执行文件和各种库文件)
    #make install //安装 (make install是把这些编译出来的可执行文件和库文件复制到合适的地方)
    或者也可以执行:#make&make install

    第五步:进入nginx编译目录,打开nginx.conf文件。
    在server中加入配置ssl
    ssl on;
    ssl_certificate 这里添加server.pem的访问路径;
    ssl_certificate_key 这里添加server.key的访问路径;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers

     server {
          listen       443;
          server_name  localhost;
          ssl on;
          ssl_certificate 这里添加server.pem的访问路径;
          ssl_certificate_key 这里添加server.key的访问路径;
          ssl_session_timeout 5m;
          ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
          ssl_ciphers HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM;
          ssl_prefer_server_ciphers on;
          location ^~/download/ {
          root   /;
          index  index.html index.htm;
          }
    }
    

    第六步:检查配置项有没有问题。
    进入编译目录
    #cd /usr/local/nginx-1.13.6-compile-new/sbin
    #./nginx -t //检查文件是否有问题,若返回是ok,则没问题

    启动nginx
    #/usr/local/nginx-1.13.6-compile-new/sbin/nginx
    -c /usr/local/nginx-1.13.6-compile-new/conf/nginx.conf

    重启命令是:./nginx -s reload


    另外还会有一个问题,大家可能会遇到,我之前把编译目录直接当成了安装目录,导致报如下所示错误:

    cp objs/nginx '/usr/local/nginx-1.13.6/sbin/nginx'
    test -d '/usr/local/nginx-1.13.6/conf' \
            || mkdir -p '/usr/local/nginx-1.13.6/conf'
    cp conf/koi-win '/usr/local/nginx-1.13.6/conf'
    cp: "conf/koi-win" 与"/usr/local/nginx-1.13.6/conf/koi-win" 为同一文件
    make[1]: *** [install] 错误 1
    make[1]: Leaving directory `/usr/local/nginx-1.13.6'
    make: *** [install] 错误 2
    

    解决方法:

    新建一个目录来当编译目录,然后执行
    ./configure --prefix=/usr/local/nginx-1.13.6-compile-new --conf-path=/usr/local/nginx-1.13.6-compile-new/conf/nginx.conf --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module

    最后一步:

    然后验证,在浏览器中输入
    https://域名:端口/

    能出来页面就没问题了,就解决啦~~

    谢谢观看

    相关文章

      网友评论

          本文标题:nginx配置和ssl证书的配置

          本文链接:https://www.haomeiwen.com/subject/qsrvnqtx.html