AppFog 部署 B3log 详细教程

本贴最后更新于 4391 天前,其中的信息可能已经东海扬尘

前段时间B3log又升级了,与此同时B3log论坛正式上线。

新版的B3log中,最让人惊喜的就是B3log与社区论坛的同步功能。

可是,就在前些天,google调整了配额,所以有很多升级到最新版B3log的用户超配额。

幸亏现在又有了一个免费的服务让我们放博客。

今天来看看怎么把B3log部署到Appfog。

1、首先就是到Appfog注册。其实注册很简单,这里就不说了。

2、安装AF程序。AppFog提供了一个AF程序来部署我们的程序。

安装AF之前,首先要安装 Ruby Installer for Windows 。安装完成之后,在开始菜单,找到Start Command Prompt with Ruby。这就跟一个cmd控制台差不多。然后依次运行

gem update --system
gem install af

这两句命令,顺利运行之后,AF程序就安装完。

3、登陆AF。

安装完AF之后,输入

af login

B3log上传AppFog

然后输入注册的Email和密码,过一会就会看到Successfully logged into [https://api.appfog.com],这样子就是登陆成功。

4、部署测试程序。

我们的B3log程序放在AppFog上,用的是Mysql版,但是AppFog有个缺点,就是在控制台看不到数据库的密码和用户名,所以我们要部署一个测试程序来获取这些信息。下载程序。解压,cd到解压目录,运行

af push blog4dashutest

然后就按照下面步骤操作:

上传源码

Would you like to deploy from the current directory? [Yn]:你是否要部署该目录,输入y,是。

Detected a Java Web Application, is this correct? [Yn]:是不是java程序,y。

Select Infrastructure:选择服务器,我这里选择3,新加波服务器。

Application Deployed URL [blog4dashutest.ap01.aws.af.cm]:你应用的名字,按enter就是默认名字,就是你的应用名字加服务器地址。在这里也可以输入你想要的url。

Memory reservation (128M, 256M, 512M, 1G, 2G) [512M]: 程序所需的内存:我这里写了1G,java程序默认是512M,但是实践证明,512MB经常导致程序启动不了,所以就选1G吧。

How many instances? [1]:有多少个实例,按enter,选1个就好了。

Bind existing services to 'blog4dashutest'? [yN]:因为我之前已经创建过mysql服务,所以有这个,我输入n,不绑定。

Create services to bind to 'blog4dashutest'? [yN]: 输入y,创建一个新的服务。

What kind of service?:选择2,mysql服务。

Specify the name of the service [mysql-fd0ae]:服务名字,这只是个名字,并不熟数据库名,所以enter默认就行了。

Create another? [yN]:还要创建其他吗,n。不需要了。

Would you like to save this configuration? [yN]:要保存配置文件吗?建议最好保持,因为可能出现失败的情况,这样子就不用再次过这个过程了。

让保存完配置文件之后,程序就会自动创建:

Creating Application: OK
Creating Service [mysql-fd0ae]: OK
Binding Service [mysql-fd0ae]: OK
Uploading Application:
  Checking for available resources: OK
  Packing application: OK
  Uploading (1K): OK
Push Status: OK

Staging Application 'blog4dashutest': OK

Starting Application 'blog4dashutest': OK

5、获取Mysql数据库信息。

在官方doc里面说到了,我们可以通过程序获取Mysql的信息。

在java中,我们可以通过

java.lang.System.getenv("VCAP_SERVICES")

来获取Mysql信息,其实我们刚才上传的测试程序,就是这句话而已,然后我们就可以得到数据库信息。得到的Mysql信息,就像这样子:

{"mysql-5.1":[
    {
        "name":"mysql-4f700",
        "label":"mysql-5.1",
        "plan":"free",
        "tags":["mysql","mysql-5.1","relational"],
        "credentials":{
            "name":"d6d665aa69817406d8901cd145e05e3c6",
            "hostname":"mysql-node01.us-east-1.aws.af.cm",
            "host":"mysql-node01.us-east-1.aws.af.cm",
            "port":3306,
            "user":"uB7CoL4Hxv9Ny",
            "username":"uB7CoL4Hxv9Ny",
            "password":"pzAx0iaOp2yKB"
        }
    }
]}

其实就是一个json数组来的。上面例子中,credentials里面有数据库名字、服务路径、端口、用户名、密码。这些都是我们配置Mysql版所需要的。

6、部署B3log

上一步我们已经获取到了Mysql的信息,我们现在下载一个Mysql版的B3log,按照wiki来修改Mysql版所需要修改的配置文件。

然后cd到Mysql版B3log程序目录,运行:

af upload blog4dashutest

blog4dashutest,就是你刚才创建的应用名字。

然后AF就会自动更换你的程序。好了,b3log部署到AppFog成功。

  • 博客

    记录并分享人生的经历。

    273 引用 • 2388 回帖
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1063 引用 • 3454 回帖 • 191 关注
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    91 引用 • 384 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
DASHU
大叔已经成为一个老油条了~~

推荐标签 标签

  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖 • 1 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1348 回帖
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    11 引用 • 5 回帖 • 614 关注
  • 996
    13 引用 • 200 回帖 • 11 关注
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 589 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    545 引用 • 672 回帖 • 1 关注
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 160 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 254 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 63 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 668 关注
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 17 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 638 关注
  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 159 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 613 关注
  • 代码片段

    代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。

    用户在该标签下分享代码片段时需在帖子标题前添加 [css] [js] 用于区分代码片段类型。

    91 引用 • 579 回帖
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 487 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 360 关注
  • VirtualBox

    VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。

    10 引用 • 2 回帖 • 3 关注
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 632 关注
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    62 引用 • 289 回帖 • 1 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    943 引用 • 1460 回帖 • 1 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖 • 2 关注
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 218 关注
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 40 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    85 引用 • 165 回帖 • 5 关注