curl下载地址:https://curl.haxx.se/download.html
curl源码编译安装
首先去curl官网下载对应版本,这里有个坑需要注意。如果下载的源码版本太高,编译是成功的,但是curl可执行文件访问https的时候还是会报各种奇怪的错误。所以我这里的做法是,先yum install curl,然后curl -V看我的系统yum支持的curl最新版本。我这里是7.29.0
这里点击Old Releases,可以找到curl-7.29.0.tar.gz
https://www.openssl.org/source/
其次去openssl官网下载对应版本,需要openssl的原因是,如果只编译curl那么就不支持https协议了,使用curl访问https会报错curl: (1) Protocol https not supported or disabled in libcurl
这里也是一样,我也是先yum install openssl然后openssl version查看了最新版本,我这里是1.0.2k
这里点击Old Releases,可以找到openssl-1.0.2k.tar.gz
1. 解压openssl-1.0.2k.tar.gz,编译
./config shared --prefix=/tmp/ssl
make
make install
–prefix后面跟的安装目录。如果这里报错Makefile is older than Makefile.org, Configure or config.那就先./config,再执行上面三步。
2. 解压curl-7.29.0.tar.gz,编译
./configure --prefix=/tmp/curl --without-nss --with-ssl=/tmp/ssl
make
make install
–prefix后面跟的安装目录
–without-nss是因为centos自带的curl支持的https是nss版本的,不是openssl的,我们这里要用openssl版本的
这是centos自带的curl,可以看到使用的nss版本
–with-ssl后面跟的openssl安装目录
如果我们直接./configure,默认是不支持https协议的
./configure --prefix=/tmp/curl --without-nss --with-ssl=/tmp/ssl执行就有了
- 最后我们可以在/tmp/curl/bin下看到编译成功的curl可执行文件,在/tmp/curl/lib下看到我们编译成功的lib库,看下现在编译成功的curl