今天需要在生产环境部署两个程序, 都是解析 API 数据的, 依赖 python3, 所以记录下部署过程.
* 第一步是查看系统环境信息
- cat /etc/RedHat-release
- cat /proc/version
系统是 CentOS 7.5, 并不会影响 python3 的安装
系统信息
平常自己用 Linux 都使用 VIM, 这个系统没有, 挺干净的, 所以装一个编辑器
yum install -y VIM
还会编辑下 hosts 映射供程序使用
VIM /etc/hosts
* 第二步是查看自带 python 信息
- python -V
- which python
查看了下 python 版本, 2.7.5, 又看了下命令位置, 可以看出这是系统自带的 python
python 信息
* 第三步是安装 python3 及所需模块
本程序在 python3.6.6 之下编写的, 所以服务器最好与自己使用的版本保持一致
我这次部署生产服务器, 所以选择了源码编译 (本机使用的 pyenv)
- # 安装依赖包
- yum -y groupinstall "Development tools" # 感觉这个开发包很全面 (和下面的会有些重复, 不过没事)
- yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel SQLite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel && yum -y install wget # 但是还得安装这些依赖
Development tools
依赖包
源码编译 python3.6.6
- # 创建安装包目录
- mkdir -p /root/Downloads/python_install && cd /root/Downloads/python_install
- # 下载
- wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
- # 解压源码包
- tar -zxvf Python-3.6.6.tgz
- # 创建安装目录
- mkdir /usr/local/python3
- cd Python-3.6.6/
- # 安装到指定目录
- ./configure --prefix=/usr/local/python3
- # 编译
- make && make install
- # 漫长的等待......
编译成功
- ```
- cd /usr/local/python3
- ln -s /usr/local/python3/bin/python3 /usr/local/bin//python3
- ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
- ```
安装模块
- # 常用模块
- pip3 install numpy openpyxl pandas xlrd yarl aiohttp asyncio requests
- # 大数据相关模块
- pip3 install hdfs PyHive sasl
- pip3 install thrift 0.11.0
- pip3 install thrift-sasl 0.3.0
- # 这些是某些 sasl 模块安装失败需要的系统包, 没报错可以不装
- yum install -y libevent-devel libffi-devel python-devel gcc-c++ cyrus-sasl-devel cyrus-sasl-plain
* 第四步是测试程序运行
程序运行成功
没问题
* 第五步是查看程序 log 情况
日志打印成功
没问题
* 完成
来源: http://www.jianshu.com/p/33d0d5442975