appfog af操作命令

appfog提供了最为便捷的命令行操作工具 ———— af命令。当然,像Heroku等云应用商也有类似的工具。原理都是基于ruby,版本控制类似于svn和git 。熟练的操作af命令往往能达到事半功倍的效果 ———— 因为这个都是国外的提供商,web页面登录操作有时会非常慢。而使用命令行操作,对带宽的依赖相对要低些。操作也高效些。

以下列举了平时常用到的一些操作,说白了也就是从af help里摘取了一部分出来。

ruby环境下安装af
gem update –system
gem install af
登录
af  login
创建应用
af push appsname
应用的重启或删除
    start <appname> [--debug [MODE]]             Start the application
    stop  <appname>                              Stop the application
    restart <appname> [--debug [MODE]]           Restart the application
    delete <appname>                             Delete the application
    clone <src-app> <dest-app> [infra]           Clone the application and services
列出所有的应用
af apps
数据库相关命令
services                                     Lists of services available and provisioned
    create-service <service> [--name,--bind]     Create a provisioned service
    create-service <service> <name>              Create a provisioned service and assign it <name>
    create-service <service> <name> <app>        Create a provisioned service and assign it <name>, and bind to <app>
    delete-service [servicename]                 Delete a provisioned service
    clone-services <src-app> <dest-app>          Clone service bindings from <src-app> application to <dest-app>
    tunnel <servicename> [--port]                Create a local tunnel to a service
    tunnel <servicename> <clientcmd>             Create a local tunnel to a service and start a local client
用户管理
user                                         Display user account information
passwd                                       Change the password for the current user
logout                                       Logs current user out of the target system
类svn的更新及下载
push [appname] --path                        Push application from specified path
push [appname] --mem M                       Set the memory reservation for the application
update <appname> [--path,--debug [MODE]]     Update the application bits
pull <appname> [path]                        Downloads last pushed source to <appname> or [path]
download <appname> [path]                    Downloads last pushed source to zipfile

后记:

由于centos上的ruby版本太低,所以每次在新主机上安装af环境时,都要源码包安装一次。这里做个记录吧!下次安装时直接按教程安装就OK了。

一、yaml的安装

如果不安装该包,在安装完ruby并编译gem后,使用gem会出现如下的提示信息:

[root@localhost ~]# gem sources -l
/usr/local/lib/ruby/1.9.1/yaml.rb:84:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
*** CURRENT SOURCES ***
https://rubygems.org/

安装步骤如下:

[root@localhost src]# wget http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz
[root@localhost src]# tar zxvf yaml-0.1.5.tar.gz
[root@localhost src]# cd yaml-0.1.5
[root@localhost src]# ./configure
[root@localhost src]# make && make install

注:这里安装路径不要更改,更改后ruby会找不到lib文件的位置 。

二、ruby的安装

由于官方源比较慢,也可以选择去http://ruby.taobao.org/网站上下载源码包,这里我还是以官网的下载为例给下安装代码:

[root@localhost src]# wget http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p545.tar.gz
[root@localhost src]# tar zxvf ruby-1.9.3-p545.tar.gz
[root@localhost src]# cd ruby-1.9.3-p545
[root@localhost ruby-1.9.3-p545]# ./configure
[root@localhost ruby-1.9.3-p545]# make && make install 

三、gem的安装

官方下载页面为:http://rubygems.org/pages/download ,安装步骤如下:

[root@localhost src]# wget http://production.cf.rubygems.org/rubygems/rubygems-2.2.2.tgz
[root@localhost src]# tar zxvf rubygems-2.2.2.tgz
[root@localhost src]# cd rubygems-2.2.2
[root@localhost src]# ruby setup.rb

安装完成后,使用gem时还会报找不到该应用程序,如下:

[root@localhost ~]# gem
-bash: /usr/bin/gem: No such file or directory
[root@localhost ~]# whereis gem
gem: /usr/local/bin/gem

经查看发现,安装后的位置和默认找的位置不同,通过ln做一个软链接 

[root@localhost ~]# ln -s /usr/local/bin/gem /usr/bin/gem

四、更新sources源安装af

由于国内网络原因(你懂的),导致 rubygems.org 存放在 Amazon S3 上面的资源文件间歇性连接失败。所以这里改用taobao sources源,其每15分钟和rubgems.org官网同步一次。

[root@localhost ~]# gem sources --remove https://rubygems.org/
[root@localhost ~]# gem sources -a https://ruby.taobao.org/
[root@localhost ~]# gem sources -l
*** CURRENT SOURCES ***
https://ruby.taobao.org
# 请确保只有 ruby.taobao.org
[root@localhost ~]# gem install af

完了就可以使用af CLI tool了。




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

  1. 本文目前尚无任何评论.
  1. 2014年6月25日14:41 | #1