美文网首页
阿里云命令行工具安装与使用

阿里云命令行工具安装与使用

作者: 墨明棋妙的兜兜 | 来源:发表于2017-10-03 08:28 被阅读0次

    为什么要使用阿里云的命令行工具

    是不是吃饱了撑了,非要用命令行,明明人家啥操作都已经封装好了界面,直接用不就完事了嘛。就以我司为例,使用了阿里云的负载均衡。每次发布都是这个流程,先到阿里云官网把服务器A从负载中切掉,然后A发布代码,把A再丢到负载里,把B从负载中切掉,B发布代码,再把B丢到负载里,这种人工操作首先很麻烦,其次,搞不好还会出错。但是如果使用命令行工具,把切换负载的命令写到shell脚本里面,只要执行脚本,就啥问题都没了,不用登陆什么阿里云官网搞来搞去的。

    写在前面

    阿里云服务器命令行是基于python脚本的,其实centos是自带了python环境的,但是很坑爹的是自带的python环境是2.6.6,阿里云命令行却需要2.7.8才能带的动。阿里云命令行教程在官网上非常简明易懂,反而升级python版本比较麻烦,所以本教程大部分内容是教怎么升级python版本。

    准备工作

    以root身份进入系统,因为要装不少东西,所以必须是以root身份

    yum install openssl-devel -y

    yum install zlib*

    这两行命令行在最先执行,因为一旦升级了python版本,yum就不能用了,这个非常坑爹,我之前就是先升级了python版本,执行这两行报错 ,以为系统没有yum,就花了大量的时间装了yum,其实先执行这两行就没那么多事了,所以以后如果还想用yum的话,切回老版本python,yum还是可以继续用的

    查看python版本:python -V

    升级python版本

    mkdir /tmp/python

    cd /tmp/python/

    wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz

    下载这个还是比较慢的,如果有快的网址的话,欢迎更新

    tar -zxvf Python-2.7.8.tgz

    我比较倾向于把这个移到别的地方,放在/tmp下怪怪的,所以

    mkdir /usr/python

    mv /tmp/python/Python-2.7.8 /usr/python/

    cd /usr/python/Python-2.7.8

    ./configure

    编译python前修改一个文件

    vim Modules/Setup

    zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
    
    SSL=/usr/local/ssl
    _ssl _ssl.c \
            -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
            -L$(SSL)/lib -lssl -lcrypto
    
    

    这五行前的注释去掉

    然后可以编译了

    make

    make install

    编译完了之后 执行 python -V 看一下python版本

    有些机器上编译完了之后 python版本就成了2.7.8 ,有些还是2.6.6

    如果编译python顺利成了2.7.8就别管了

    如果还是2.6.6

    执行下面

    mv /usr/bin/python /usr/bin/python.old

    ln -s /usr/python/Python-2.7.8/python /usr/bin/python

    再看一下版本,不出意外应该就是2.7.8 了

    安装阿里云命令行工具

    cd /tmp/

    curl "https://bootstrap.pypa.io/get-pip.py" -o "pip-install.py"

    python pip-install.py

    pip是python常用的依赖导入工具,类似maven

    pip install aliyuncli

    pip install aliyun-python-sdk-slb

    用pip导入阿里云命令行的两个sdk,下面那个是负载的sdk,因为我们主要是用来切负载,所以安装这个,阿里云官网上还有别的sdk,几乎所有在阿里云官网上能做的操作,命令行都涵盖了。

    执行阿里云命令行

    这时候 exit 退出root

    用自己账号登录服务器

    aliyuncli configure

    分别输入Access Key ID,Access Key Secret,Region Id,output format

    前三个必须得填写,不然执行不了脚本,最后一个默认就是json,直接回车就好了

    然后可以执行 切换负载的脚本试一下

    aliyuncli slb RemoveBackendServers --LoadBalancerId xx --BackendServers "['yy']"

    aliyuncli slb AddBackendServers --LoadBalancerId xx --BackendServers "[{'ServerId':'yy'}]"

    上面那个是移除负载的脚本 ,下面那个是 添加负载的脚本

    以后写执行脚本 ,就可以写成这样

    aliyuncli slb RemoveBackendServers --LoadBalancerId xx --BackendServers "['yy']"

    sh deploy.sh

    sleep 60

    aliyuncli slb AddBackendServers --LoadBalancerId xx --BackendServers "[{'ServerId':'yy'}]"

    先执行移除负载,然后启动项目,睡眠60秒,最后添加负载

    相关文章

      网友评论

          本文标题:阿里云命令行工具安装与使用

          本文链接:https://www.haomeiwen.com/subject/awuxyxtx.html