未志

Noderce AppFog 部署指南

Pass 云平台可以使我们非常快速的部署我们的应用程序而不需要太多的精力花费在配置系统环境上。目前,我的博客部署在 AppFog 上,AppFog 目前使用来看会偶尔宕机,但一般很快就能恢复。

有 V2EX 上发了一个帖子介绍了一个 Noderce,得到了一些关注,所以写个 AppFog 部署指南给大家。

1. AppFog 管理工具

AF CLI TOOL 是使用 ruby 编写的命令行工具,可以运行在 Mac, *nix, Windows 上。通过它,可以创建应用、服务、查看应用日志等一系列的功能。 官方有非常详细的安装说明,请查询。https://docs.appfog.com/getting-started/af-cli

2. 创建你的应用

最基本的,你需要先注册一个帐号,注册完成后,进入 https://console.appfog.com/ ,点击New App,在 New App 页面中你可以看到app创建分三歩走:

  1. 选择一类应用,我们看到有三种支持的nodejs应用,nodejs,node chat node express,不管你是否使用了node express,选第一个nodejs都可以,关键是你在上传代码时加上所有你依赖的库,也就是node moudles那个文件夹放到代码跟目录即可。
  2. 选择一个服务器所有地区,建议使用美国的AWS,可以享受更多的第三方服务,比如 MongoLab .
  3. 输入你的app子域名,也就是你给你的app起的名称。

之后,点击Create App,你会看到一个进度列表,当你看到‘done’后,你的应用就创建完毕了,简单吧。接下来,你将进入配置界面。

3. 创建数据服务

3.1. 使用AppFog自带的 Mongodb 服务

很大一部分的web应用还是需要数据库的,appfog提供了三种数据引擎,mongodb,postgresql,mysql。Noderce 使用的是 Mongodb,点击左侧边栏Services,选择一种数据服务,在下面输入名字,点击 Create 即可。

注意,还没有完,你需要将创建的服务和应用绑定(Bind)才能使用,稍等片刻,AppFog 会自动给你绑定上。

3.2. 使用第三方提供的 Mongodb 服务

AppFog add-on 中的 MongoLab 提供 MongoDB 存储服务, Install 之后即可使用。非常简单,MongoLab 还提供的简易的管理界面。推荐使用。

4. 修改代码并上传

克隆一份代码回来。

git clone git@github.com:willerce/noderce.git

复制一份config.default.js,保存为 config.js,根据注释,修改参数。

如果你选择的是 MongoLab 提供的 MongoDB 存储服务,不需要修改数据库连接串,即可使用。

如果你选择的是 AppFog 提供的 MongoDB 存储服务,你需要在把 mongodb settings for appfog mongodb service 那部分代码去注释。
并删除 mongodb settings for mongolab 部分

修改完成后,打开命令行进行 noderce 目录,上传到 af 上

$ af login //使用你的 appfog 账号登录
$ af update appName  // 这里的 appName 是你创建的应用名称

提醒: 第一次 af update 可能较慢,耐心等待,如果出现503,404错误等,重新尝试几次

5. 从 Appfog 面板修改 Noderce 设置

Noderce 支持 Environment 配置来修改 Cookie Name, SESSION_SECRET, COOKIE_SECRET,以及主题名称,这个操作不是必须的,但我们能够这么做。

从 console.appfog.com 可以管理 Environment 配置。

感谢

本文使用了 AppFog拎包入住指南 部分文字,这篇文章有更详细的 AppFog 部署说明,推荐阅读。