版本:
CentOS-6.5-x86_64OpenSSL 1.0.2j curl 7.50.3php PHP 7.0.12
1.升级openssl
进入openssl源码文件
./config --prefix=/usr --sharedmakemake dependmake install注意:openssl.cnf这个文件要替换原来系统里面的
2.升级curl
curl 要先安装nghttp2
yum install libnghttp2(线上环境可能不需要以下两步)
sudo yum groupinstall "Development Tools"sudo yum install libev libev-devel zlib zlib-devel openssl openssl-devel git进入curl源码文件
./configure --prefix=/usr/local/curl \--with-nghttp2=/usr/local \--with-ssl=/usr/local/sslmake
make install注意:curl-config这个文件要替换系统原来的
3.升级php 3.1(线上环境可能不需要以下几步)重新安装libxml2和libxml2-devel包yum install libxml2yum install libxml2-devel -yyum install -y bzip2 bzip2-devel
3.2
进入php源码文件./configure --prefix=/usr/local/php \--with-ssl=/usr/local/ssl \--with-openssl \--with-curlmake && make install
验证升级结果:curl --versionopenssl必须是新升级的版本,必须显示http2字样
phpinfo配置必须显示以下信息
cURL Information => 7.50.3HTTP2 => Yes SSL Version => OpenSSL/1.0.2j
在centos配置python环境 提前安转依赖包sudo yum groupinstall "Development Tools"sudo yum install libev libev-devel zlib zlib-devel openssl openssl-devel git
yum install libxml2
yum install libxml2-devel -yyum install -y bzip2 bzip2-develyum install sqlite-devel
yum install openssl-devel.i686yum install readline-devel yum install bzip2-devel.i686yum install gdbm-devel.i686yum install libdbi-devel.i686
yum install ncurses-libsyum install zlib-devel.i686yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-server libstdc++.so.6 libnspr4.so libssl.so.6
---以上线上环境可能不需要再安装-----sudo yum install gcc libffi-devel python-devel openssl-devel (必须)
(1)先把python2.6.6升级为2.7的版本cd Python-2.7.12
vim Modules/Setup.dist找到
# Socket module helper for SSL support; you must comment out the other# socket line above, and possibly edit the SSL variable:#SSL=/usr/local/ssl#_ssl _ssl.c \# -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \# -L$(SSL)/lib -lssl -lcrypto把前面的 # 号去掉,修改为
# Socket module helper for SSL support; you must comment out the other# socket line above, and possibly edit the SSL variable:SSL=/usr/local/ssl #(这个修改线上为实际的路径)_ssl _ssl.c \-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ -L$(SSL)/lib -lssl -lcrypto 安装./configuremake all && make install && make clean && make distclean
5.查看版本信息
/usr/local/bin/python2.7 -V6.建立软连接,使系统默认的 python指向 python2.7
mv /usr/bin/python /usr/bin/python2.6.6 ln -s /usr/local/bin/python2.7 /usr/bin/python7.重新检验Python 版本
python -V8解决系统 Python 软链接指向 Python2.7 版本后,因为yum是不兼容 Python 2.7的,所以yum不能正常工作,我们需要指定 yum 的Python版本
vi /usr/bin/yum
将文件头部的#!/usr/bin/python改成
#!/usr/bin/python2.6.6(2)然后升级pip
下载最新版的pip,然后安装wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py查找pip的位置1
whereis pip找到pip2.7的路径,为其创建软链作为系统默认的启动版本1
ln -s /usr/local/bin/pip2.7 /usr/bin/pip
(3)安装依赖库
pip install cryptographypip install pyOpenSSLpip install hyper
检验环境搭建是否成功:
命令行输入pythonimport ssl
print ssl.OPENSSL_VERSION(成功会出现最新安装的openssl的版本号)ssl.HAS_ALPN
(成功会返回true)