linux nginx配置stream后启动报异常 /usr/lib64/nginx/modules/ngx_stream_module.so: undefined symbol: SSL_CTX_set_options
一、背景/遇到的问题
1、nginx做TCP转发,配置stream相关后启动nginx报异常: nginx: [emerg] dlopen() “/usr/lib64/nginx/modules/ngx_stream_module.so” failed (/usr/lib64/nginx/modules/ngx_stream_module.so: undefined symbol: SSL_CTX_set_options) in /usr/local/nginx/conf/nginx.conf:1
2、LINUX下用YUM安装nginx-mod-stream出现No package nginx available.的问题
二、问题记录
1、查看nginx版本和nginx里配置文件的ngx_stream_module.so路径;
- nginx版本需要和ngx_stream_module.so支持的版本号对应(nginx/1.20.1)
- 安装指定版本的nginx(nginx/1.20.1)
2、yum安装报No package nginx available.异常的应该需要解决yum源的问题;
三、解决方法
1、本地环境
PVE7.3、CentOS7、nginx1.20.1、ngx_stream_module.so
2、操作步骤
(因验证时重启了多次,基本上就没有截图了,主要还是记录一下参照思路)
1、yum安装nginx后执行启动能否正常启动,是否会报错(nginx: [emerg] dlopen() “/usr/lib64/nginx/modules/ngx_stream_module.so” failed (/usr/lib64/nginx/modules/ngx_stream_module.so: undefined symbol: SSL_CTX_set_options) in /usr/local/nginx/conf/nginx.conf:1)
PS:不报错的就不用看下面的步骤了
2、如果有报ngx_stream_module错:安装nginx-mod-stream
yum install nginx-mod-stream -y
3、如果安装nginx-mod-stream报错,可能需要解决yum源的问题
参考1:LINUX下用YUM安装nginx出现No package nginx available.的问题与解决方案
4、重新安装指定版本的nginx
参考2:Linux之安装Nginx (yum方式)
参考3:Linux 使用yum安装指定版本的nginx
5、重新安装指定版本的nignx后,再安装ngx_stream_module.so
参考4:解决discourse部署到CentOS7的坑,nginx转发流量到另一个nginx的解决方案
6、安装好对应版本的包后,重新启动nginx
发现提示ert启动异常;
参考:解决 nginx 问题 [emerg] BIO_new_file failed (SSL: error:0200100D:system…
临时关闭selinux防火墙:setenforce 0
PS:请慎重选择永久关闭selinux,可能会导致linux卡在启动条那里;
参考:CentOS7开机时在进度条界面卡死
7、配置ningx开机启动
参考:Nginx源码安装,配置开机自启
8、开机启动项配置错误后,重新配置
9、问题解决后,启动nginx成功,并设置了开机启动;
10、重启服务器验证是否能正常开机启动
开机启动后发现服务未启动(可能是selinux防火墙还在开启状态引起的):CentOS7关闭防火墙和SELinux
临时关闭selinux防火墙:setenforce 0
PS:请慎重选择永久关闭selinux,可能会导致linux卡在启动条那里; 刚从坑里爬出来 … …
参考:CentOS7开机时在进度条界面卡死
其他的服务器持续验证中…
其他
无
版本历史
版本 | 更新时间 | 变更内容 | 其他 | 备注 |
---|---|---|---|---|
V1.0 | 202301121130 | 新增文档 | - | - |