今天线上服务器全部升级python环境为python-2.7.6的环境,我采用的方法是ansible+shell,代码如下,友提,Python-2.7.6.tgz、setuptools-14.3.1.tar.gz、pip-9.0.1.tar.gz,这三个包我是提前下好放在/data/x5online/tools目录下,当然你也可以直接在脚本中wget相关包,个人喜欢把包下好了然后统一放在/data/x5online/tools目录里,脚本比较简单,记录下,省的又忘了,节约时间。时间就是金钱啊
#!/bin/bash
yum install python-devel zlib-devel -y
cd /data/x5online/tools
tar xf Python-2.7.6.tgz
cd Python-2.7.6
echo "开始编译python"
./configure --prefix=/usr/local
make
if [ $? -eq 0 ];then
echo "make is ok"
else
echo "something is wrong"
exit
fi
make install
if [ $? -eq 0 ];then
echo "make install is ok"
else
echo "something is wrong"
exit
fi
ln -s /usr/local/python2.7 /usr/bin/python
sleep 1
echo "开始安装setuptools"
cd /data/x5online/tools
tar xf setuptools-14.3.1.tar.gz
cd setuptools-14.3.1
python setup.py install
if [ $? -eq 0 ];then
echo "setup is ok"
else
echo "something is wrong"
exit
fi
sleep 1
echo "开始安装pip"
cd /data/x5online/tools
tar xf pip-9.0.1.tar.gz
cd pip-9.0.1
python setup.py install
if [ $? -eq 0 ];then
echo "all is ok"
else
echo "something is wrong"
fi
然后使用ansible all -m copy "src=/data/x5online/install_python.sh dest=/data/x5online"分发至所有需要升级python的服务器
最后ansible all -m shell "/data/x5online/install_python.sh"执行脚本。