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  [--debug [MODE]]             Start the application
    stop                                Stop the application
    restart  [--debug [MODE]]           Restart the application
    delete                              Delete the application
    clone   [infra]           Clone the application and services
列出所有的应用
af apps
数据库相关命令
services                                     Lists of services available and provisioned
    create-service  [--name,--bind]     Create a provisioned service
    create-service                Create a provisioned service and assign it 
    create-service           Create a provisioned service and assign it , and bind to 
    delete-service [servicename]                 Delete a provisioned service
    clone-services            Clone service bindings from  application to 
    tunnel  [--port]                Create a local tunnel to a service
    tunnel               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  [--path,--debug [MODE]]     Update the application bits
pull  [path]                        Downloads last pushed source to  or [path]
download  [path]                    Downloads last pushed source to zipfile
<br />

后记:

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

一、yaml的安装

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

[root@localhost ~]# gem sources -l
/usr/local/lib/ruby/1.9.1/yaml.rb:84:in `':
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/
<br />

安装步骤如下:

[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
<br />

注:这里安装路径不要更改,更改后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 
<br />

三、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
<br />

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

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

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

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

四、更新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
<br />

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

appfog af操作命令》有1条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注