nginx配置和ssl证书的配置

2019-04-30  本文已影响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://域名:端口/

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

谢谢观看

上一篇下一篇

猜你喜欢

热点阅读