今天想实践一下nginx+keepalived的高可用集群方案,先安装keepalived。
SUSE系统离线源码安装有我很多痛苦的回忆,今天还是如此,经历漫长的找库、安装。
先上传keepalived安装包:keepalived-2.0.19.tar
下载链接:https://www.keepalived.org/download.html
然后解压,准备源码安装configure, make , make install三连。
s:~/server/midware/keepalived-2.0.19 # ./configure -- prefix=/root/server/midware/keepalived
然后报错:
……
checking openssl/ssl.h usability... no
checking openssl/ssl.h presence... no
checking for openssl/ssl.h... no
configure: error: !!! OpenSSL is not properly installed on your system. !!!!!! Can not include OpenSSL headers files. !!!
OpenSSL有问题?
敲一下命令,已经安装了:
:~/server/midware # openssl
OpenSSL>
应该是devel的问题,进入/usr/include/openssl文件夹里面看,发现果然是空的。
到rpm-search上去找openssl-devel包,链接:http://rpm.pbone.net
我系统里面安装的是openssl-0.9.8j-***的版本,没有找到可以用的对应openssl-devel版本。
注意一定要版本对应,不然openssl-devel无法安装成功或者无效。
找到一个较新的openssl版本:openssl-1.0.2n-2.58.1.x86_64.rpm,下载后强制更新安装:
rpm -ivh --replacefiles --force --nodeps openssl-1.0.2n-2.58.1.x86_64.rpm
再安装对应版本的openssl-devel:libopenssl-devel-1.0.2n-2.58.1.x86_64.rpm,下载后强制更新安装:
rpm -ivh --replacefiles --force --nodeps libopenssl-devel-1.0.2n-2.58.1.x86_64.rpm
过程中可能会报错缺少其他库,比如zlib,安装zlib-devel,我系统安装的是zlib-1.2.7,但是在rpm库里找不到对应的devel包,如法炮制,重新安装一个zlib(1.2.3),因为版本降低了,所以直接rpm -i 是不会安装成功,需要强制更新安装:
rpm -ivh --replacefiles --force --nodeps zlib-1.2.3-143.1.x86_64.rpm
rpm -i zlib-devel-1.2.3-143.1.x86_64.rpm
SUSE源码离线安装步骤都差不多:缺啥就去rpm库里拖下来,然后安装,无法匹配版本就覆盖安装一个可以匹配到的版本。
安装完成后Keepalived也可以正常configure和make install了,/usr/include/openssl里头文件也全了。
P.S. 列一下其他安装的包:
keyutils-devel-1.2-107.3.x86_64.rpm
krb5-devel-1.6.3-133.2.x86_64.rpm
libcom_err-devel-1.41.9-2.2.x86_64.rpm
libffi6-3.2.1-5.1.x86_64.rpm
libopenssl1_0_0-1.0.2n-2.58.1.x86_64.rpm
libopenssl-devel-1.0.2n-2.58.1.x86_64.rpm
libp11-kit0-0.23.2-32.6.x86_64.rpm
libtasn1-4.9-56.6.x86_64.rpm
libtasn1-6-4.9-56.6.x86_64.rpm
openssl-1.0.2n-2.58.1.x86_64.rpm
p11-kit-tools-0.23.2-32.6.x86_64.rpm