Centos7 安装 Openssl 和 Nginx

1. Openssl 回退低版本安装openssl-1.0.0h

openssl 默认安装版本:openssl version

OpenSSL 1.0.2k-fips 26 Jan 2017

所有版本的openssl

bash 复制代码
yum install gcc

tar -zxvf openssl-1.0.0h.tar.gz

./config --prefix=/usr/local/ssl

# 错误处理

wget https://www.cpan.org/src/5.0/perl-5.28.0.tar.gz #下载压缩包

tar -zxvf perl-5.28.0.tar.gz

cd perl-5.28.0

./Configure -des -Dprefix=$HOME/localperl

make

make test

make install

# 回到openssl目录:
[root@localhost openssl-1.0.0h]# make && make install

#安装完成


# 3. 将旧的openssl执行文件及目录重命令

mv -f /usr/bin/openssl /usr/bin/openssl.old

mv -f /usr/include/openssl /usr/include/openssl.old

# 4. 修改软链,指向新版本的openssl路径

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/ssl/include/openssl /usr/include/openssl

# 5. 添加so库的路径,添加完成之后,运行ldconfig ,将新增的so 文件缓存到/etc/ld.so.cache中

echo "/usr/local/ssl/lib">>/etc/ld.so.conf

ldconfig -v

# 6. 执行查看版本openssl版本

[root@localhost openssl-1.0.0h]# openssl version -a

OpenSSL 1.0.0h 12 Mar 2012

built on: Fri Sep 13 09:27:03 CST 2024

platform: linux-x86_64

# 7. 完成

2. 升级安装新版本openssl

bash 复制代码
yum install gcc
yum -y install perl-IPC-Cmd
yum install perl-Data-Dumper

tar  -zxvf openssl-3.3.1.tar.gz 
cd openssl-3.3.1/
./config   --prefix=/opt/openssl-3.3.1
make
make install

vim /etc/profile # 添加如下内容
export PATH=/opt/openssl-3.3.1/bin:$PATH
export LD_LIBRARY_PATH=/opt/openssl-3.3.1/lib:$LD_LIBRARY_PATH

#执行 
source /etc/profile

3. 密openssl安装

一、下载openssl国密版:https://www.gmssl.cn/gmssl/index.jsp

  1. 下载gmssl_openssl_1.1_b7.tar.gz到/root/下

  2. 解压 tar xzfm gmssl_openssl_1.1_b7.tar.gz -C /usr/local

  3. 下载nginx-1.18.0.tar.gz到/root/下

  4. 解压 tar xzfm nginx-1.18.0.tar.gz

  5. 进入目录 cd /root/nginx-1.18.0,安装 pcre pcre-devel zlib等依赖库

命令:yum install -y pcre pcre-devel

命令:yum install -y zlib zlib-devel

4. 安装Nginx

(1)官网下载Nginx Nginx官网

(2) 解压

bash 复制代码
 tar zxvf nginx-1.24.0.tar.gz 

(3)开始编译,执行./configure

  1. **备注:**nginx使用yum源安装,可能导致业务上很多需要的功能模块没有开启,还是按需自己编译比较合适。

bash 复制代码
./configure --help #查看./configure 支持哪些参数

#--prefix=/usr/local/nginx --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_stub_status_module


# ./configure --prefix=/usr/local/nginx --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_stub_status_module --with-openssl=/opt/openssl-3.3.1/bin/openssl --with-openssl-opt='enable-tls1_3'

# ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_stub_status_module

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_stub_status_module --with-openssl=/usr/local/ssl


#[ error ]./configure: error: the HTTP rewrite module requires the PCRE library.

yum -y install pcre-devel

#[ error ]./configure: error: the HTTP gzip module requires the zlib library.

yum install -y zlib-devel

make

make install

出现找不到目录的错误:nginx 安装目录中的 auto/lib/openssl/conf 去掉.openssl
3.

打开环境变量配置文件

bash 复制代码
vim /etc/profile

在文件末尾添加如下内容,指向nginx的安装目录

bash 复制代码
PATH=$PATH:/usr/local/nginx/sbin

重新加载使修改生效

bash 复制代码
source /etc/profile
相关推荐
冬奇Lab6 小时前
一天一个开源项目(第46篇):Caddy - 自动 HTTPS 的现代化 Web 服务器,支持 HTTP/3
网络协议·nginx·开源
顺风尿一寸3 天前
Nginx源码分析:变量系统的设计与请求生命周期中的日志记录
nginx
爱吃橘子橙子柚子3 天前
3CPU性能排查总结(超详细)【Linux性能优化】
运维·cpu
舒一笑4 天前
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
运维·后端·程序员
NineData4 天前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
梦想很大很大5 天前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair5 天前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维
叶落阁主5 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
十二7406 天前
前端缓存踩坑实录:从版本号管理到自动化构建
前端·javascript·nginx
可观测性用观测云6 天前
云原生网关 Ingress-Nginx 链路追踪实战:OpenTelemetry 采集与观测云集成方案
nginx·kubernetes