最近购买了两个域名,目前还没有其他业务场景,就想都解析在一个服务器上,发现原来安装的nginx ssl版本太低,不能适配两个证书。就对这个进行了研究。

依赖库安装

1. 安装 gcc 环境

$ sudo yum -y install gcc gcc-c++ # nginx 编译时依赖 gcc 环境

2. 安装 pcre

$ sudo yum -y install pcre pcre-devel # 让 nginx 支持重写功能

3. 安装 zlib

# zlib 库提供了很多压缩和解压缩的方式,nginx 使用 zlib 对 http 包内容进行 gzip 压缩
$ sudo yum -y install zlib zlib-devel

4. 安装 openssl

# 安全套接字层密码库,用于通信加密
$ sudo yum -y install openssl openssl-devel

以上安装完成后,进行 nginx 安装。

nginx 源码包安装

将准备好的 nginx-x.xx.x.tar.gz 包,拷贝至 /usr/local/nginx 目录下(一般习惯在此目录下进行安装)进行解压缩。

源码包下载地址:nginx.org/en/download…

$ sudo tar -zxvf  nginx-1.11.5.tar.gz # 解压缩

在完成解压缩后,进入 nginx-1.11.5 目录进行源码编译安装。

$  cd nginx-1.11.5
$ ./configure --prefix=/usr/local/nginx # 检查平台安装环境# --prefix=/usr/local/nginx  是 nginx 编译安装的目录(推荐),安装完后会在此目录下生成相关文件

如果前面的依赖库都安装成功后,执行 ./configure --prefix=/usr/local/nginx 命令会显示一些环境信息。如果出现错误,一般是依赖库没有安装完成,可按照错误提示信息进行所缺的依赖库安装。

进行源码编译并安装 nginx

$ make # 编译
$ make install # 安装

使用nginx -c的参数指定nginx.conf文件的位置,这个指令在初始化配置的同时也会启动nginx。

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

源码包安装与 yum 安装的 nginx 服务操作命令也不同。

  • 启动服务
$ /usr/local/nginx/sbin/nginx
  • 重新加载服务
$ /usr/local/nginx/sbin/nginx -s reload
  • 停止服务
$ /usr/local/nginx/sbin/nginx -s stop

查看 nginx 服务进程

$ ps -ef | grep nginx # 查看服务进程

配置双ssl访问

进入nginx的安装目录,如上的/usr/local/nginx/nginx-x.x.x/

$ wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz
$ tar zxvf openssl-1.0.1e.tar.gz
# 将ssl配置进去
$ ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/usr/local/nginx/nginx-1.23.1/openssl-1.0.1e --with-openssl-opt="enable-tlsext"
# 重新make编译安装一下nginx
make
make install

然后设置一下nginx.conf

server{#监听443端口listen 443 ssl;#对应的域名,空格分隔域名就可以了server_name laterz.cn; #第一个域名的文件ssl_certificate /opt/ssl/.cn/8256221_laterz.cn.pem;ssl_certificate_key /opt/ssl/.cn/8256221_laterz.cn.key;# 其他配置ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;ssl_prefer_server_ciphers on;#这是我的主页访问地址,因为使用的是静态的html网页,所以直接使用location就可以完成了。location / {root   /;index  /;proxy_pass http://127.0.0.1:9091;proxy_set_header Host $host:443;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Via "nginx";}
}
server{#监听443端口listen 443 ssl;#对应的域名,空格分隔域名就可以了server_name whrss.com;# 第二个域名的文件ssl_certificate /opt/ssl/.com/8295683_whrss.com.pem;ssl_certificate_key /opt/ssl/.com/8295683_whrss.com.key;# 其他配置ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;ssl_prefer_server_ciphers on;#这是我的主页访问地址,因为使用的是静态的html网页,所以直接使用location就可以完成了。location / {root   /;index  /;proxy_pass http://127.0.0.1:9091;proxy_set_header Host $host:443;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Via "nginx";}
}

配置好conf后,需要再执行一下配置指定

$ /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

此时 查看一下nginx的状态

$ /usr/local/nginx/sbin/nginx -V

手动安装nginx,ssl双证书引入。相关推荐

  1. 在Ubuntu中手动安装nginx+nextcloud

    在Ubuntu中手动安装nginx+nextcloud 前言 什么是NextCloud? NextCloud功能 先决条件 步骤1:在Ubuntu 20.04上下载NextCloud 步骤2:在Mar ...

  2. Exchange如何配置安装导入SSL数字证书

    以上信息作者SSL盾超便宜SSL数字证书 一.准备 1. 签发证书 签发证书也就是经过CA验证过域名或者企业信息后所签发的域名证书,例如邮件服务器会使用 smtp.yourdomain.com 作为邮 ...

  3. 国密SSL协议之双证书体系

    1 背景 国密SSL协议使用双证书体系.本文描述了国密双证书体系的组成和差别,并描述了在U盾里面的使用情况. 2 国密SSL双证书 国密SSL协议使用双证书体系,分别称为签名证书和加密证书,服务器和用 ...

  4. php+win10,win10上简单安装nginx+php

    因为网速现在,下载XAMMP真是太慢了,不如手动安装nginx+php快速,就是配置稍微麻烦一些,小记如下 nginx下载 http://nginx.org/en/download.html php下 ...

  5. 使用阿里云服务器,nginx安装第三方ssl证书

    使用阿里云服务器,nginx安装第三方ssl证书 环境 服务器:阿里云ECS 系统:Centos 7 ssl证书:DigiCert 1.准备好证书的证书私钥.证书文件 2.上传至服务器 3. ngin ...

  6. 很细的项目部署上线流程(一)服务器搭建环境从0开始,Linux安装JDK安装nginx部署ssl证书安装git安装node安装pm2安装maven

    本文整个流程是在博主完成一次项目上线全过程后复盘的记录,有没有写到的细节不清楚的可以私聊提问.选购服务器可以参考一.服务器选购,跳过可以直接点击目录,后端Java项目部署参考:项目上线流程(二)后端项 ...

  7. acme云服务器生成证书_如何让docker 部署的nginx上通过acme.sh安装ssl/https 证书

    本篇文章是教大家如何在docker部署的nginx上通过acme.sh安装ssl/https 证书. 由于文中例子是通过acme.sh的http验证方式生成证书,所以在此之前,必须保证你的网站能通过h ...

  8. Centos安装Nginx并使用acme脚本配置SSL证书

    仅做记录供以后查看,所有代码来自互联网查找整理 1. 更新yum源 yum update 2. 查看防火墙并开放所需端口 firewall-cmd --zone=public --list-ports ...

  9. docker安装nginx并配置ssl证书

    文章目录 一.准备SSL证书 二.下载最新nginx镜像 三.新建几个目录,把nginx容器内的配置文件挂载到主机上 四.启动一个nginx临时容器,把配置文件复制过来,然后删除 五.把SSL证书上传 ...

最新文章

  1. 柏堰工业园有做机器人的吗_合肥柏堰科技园推进机器人应用 促产业转型升级...
  2. 自然语言模型算法太杂乱?国产统一 AI 开源框架来了!
  3. [ SAP ]MM Valuation System
  4. java jdbc is一个会话_java_JdbcUtilis_单实例
  5. 高价买的博客网站织梦模板
  6. 根据可信计算机系统评估准则 用户,根据可信计算机系统评估准则(TESEC),用户能定义访问控制要求的自.._简答题试题答案...
  7. size_t和size_type类型
  8. 如何获取屏幕分辨率呢
  9. ImmunityDebugger 学习
  10. ps cc2019版为什么做图一复制图层就卡死_彻底明白PS的智能对象,它和普通图层到底有啥区别?详细讲解...
  11. Python简单词云的制作
  12. JS事件之事件绑定与事件监听
  13. sketch-code让草图秒变HTML
  14. Heavy Transportation - dijkstra
  15. 视频文件损坏怎么修复?简单的修复办法分享
  16. 01背包问题---动态规划
  17. 历届上海国际电影节获奖名单
  18. 02 固定效应模型与Stata实现
  19. Shell学习(12)文件操作
  20. Acer 4750 安装黑苹果_傻瓜式一键黑苹果安装

热门文章

  1. 房源管理系统php,房产中介房源管理系统 v1.1
  2. 【抽样理论】有偏抽样和生存者佯谬
  3. 2012高等学校计算机等级考试试卷二级 vb.net程序设计,2012年计算机等级考试二级VB模拟试题及参考答案(2)...
  4. vb计算机二级考试题型,vb计算机二级考试试题2016
  5. TVS管工作原理及使用 ----- /*自己总结*/
  6. 网站在线客服系统怎么添加?
  7. 【Proteus仿真】【STM32单片机】竞赛抢答器设计
  8. Android开发之友录项目层次结构
  9. Go语言实战:多人聊天室V2.0-欧阳桫-专题视频课程
  10. 培训出来的外包码农一般工资多少