博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在centos搭建php和python的apns2环境
阅读量:6999 次
发布时间:2019-06-27

本文共 3298 字,大约阅读时间需要 10 分钟。

版本:

CentOS-6.5-x86_64
OpenSSL 1.0.2j
curl 7.50.3
php PHP 7.0.12

 

1.升级openssl

进入openssl源码文件

./config --prefix=/usr --shared
make
make depend
make 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/ssl

make

make install

注意:curl-config这个文件要替换系统原来的

 

 

 

 

3.升级php

3.1(线上环境可能不需要以下几步)
重新安装libxml2和libxml2-devel包
yum install libxml2
yum install libxml2-devel -y
yum install -y bzip2 bzip2-devel

3.2

进入php源码文件
./configure --prefix=/usr/local/php \
--with-ssl=/usr/local/ssl \
--with-openssl \
--with-curl

make && make install

 

 

验证升级结果:
curl --version
openssl必须是新升级的版本,必须显示http2字样

 

phpinfo配置必须显示以下信息

cURL Information => 7.50.3
HTTP2 => 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 -y
yum install -y bzip2 bzip2-devel

yum install sqlite-devel

yum install openssl-devel.i686
yum install readline-devel

yum install bzip2-devel.i686
yum install gdbm-devel.i686

yum install libdbi-devel.i686

yum install ncurses-libs
yum install zlib-devel.i686

yum -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

安装
./configure

make all && make install && make clean && make distclean

5.查看版本信息

/usr/local/bin/python2.7 -V

6.建立软连接,使系统默认的 python指向 python2.7

mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/bin/python2.7 /usr/bin/python

7.重新检验Python 版本

python -V

8解决系统 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 cryptography
pip install pyOpenSSL
pip install hyper

 

 

检验环境搭建是否成功:

命令行输入python

import ssl

print ssl.OPENSSL_VERSION
(成功会出现最新安装的openssl的版本号)

ssl.HAS_ALPN

(成功会返回true)

 

转载于:https://www.cnblogs.com/maxwe86/p/6898992.html

你可能感兴趣的文章