openssl 版本冲突导致 nginx, uwsgi, mycli 的问题解决

问题

CentOS 7 默认安装的 nginx 依赖 openssl 版本为 v1.0.2k (需要手动安装最新版 nginx v1.20.2,支持openssl v1.0.2+)

uwsgi 默认依赖的 openssl 版本为 v1.1.1

mycli (cryptography,这个库在 paramiko 里面用到) 支持的 openssl 版本为 v1.1.0, v1.1.1

所以 openssl 的版本问题会造成上述软件冲突。

openssl 版本冲突导致 nginx, uwsgi, mycli 的问题解决

解决方法:

1) 手动安装 openssl v1.1.1

下载安装包,编译安装,

$ tar --gzip -xf openssl-1.1.1.tar.gz
$ cd openssl-1.1.1
$ ./config
$ make
$ sudo make install

创建 openssl 的系统软链接,

$sudo ln-fs/usr/local/lib64/libssl.1.1 USRLIB64LIBSSL.so.1.1
$sudo ln-fs/usr/local/lib64/libcrypto。1.1 usrlib64libcrypto.so.1.1

2) 手动安装 nginx

from https://nginx.Alternate download/nginx-1,20contrary.tar.gz 下载最新稳定版的 nginx,编译安装,

$ tar --gzip -xf nginx-1.20.2.tar.gz
$ cd nginx-1.20.2
$ ./configure
$ make
$ sudo make install
# 如果要删除这个安装版本,则先进入此文件夹,然后运行
$ sudo make uninstall

安装完成后,默认进行安装技术路径在 /usr/local/nginx/sbin/nginx,默认配置文件路径在 /usr/local/nginx/conf。

创建并编辑 nginx 的开机启动文件 /lib/systemd/system/nginx.service,内容为:

[Unit]
And reverse proxy server
After=syslog。Target network.-online.The target is remote FS.Target NSS - lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx-s reload
Execstop =/bin/kill-s quit $mainpid
PrivateTmp=true
[Install]
WantedBy=multi-user.target

因为上述文件 nginx 可执行程序为 /usr/sbin/nginx,所以需要创建软链接如下,

$sudo ln-fs/usr/local/nginx/sbin/nginx/usr/sbin/nginx

缺省的 nginx 配置文件路径是/etc/nginx/nginx。conf,但手动安装的配置文件路径为 /usr/local/nginx/conf,所以需要将 nginx.conf 拷贝到此路径下。

设置 nginx 的开机启动 ,

$sudo systemctl enables nginx.service

重启电脑。

以上就是关于“openssl 版本冲突导致 nginx, uwsgi, mycli 的问题解决”的相关解答,若有不清楚的可以咨询酷番云酷番云作为云南为数不错持有ICP/ISP/IDC等资质专业云计算提供商之一,成本控制良好,性价比高!提供各类云服务器产品及ICP备案一站式服务,操作简单快捷,7*24小时不间断售后运维技术支持,专业备案团队全力支持。

云服务器ECS地址:https://www.kufanyun.com/server/

图片来源于AI模型,如侵权请联系管理员。作者:路飞,如若转载,请注明出处:https://www.kufanyun.com/ask/1318.html

(0)
上一篇2021年12月16日 15:26
下一篇 2021年12月18日 14:59

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注