AppFog 部署 B3log 详细教程

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

前段时间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成功。

  • 博客

    记录并分享人生的经历。

    274 引用 • 2393 回帖 • 1 关注
  • B3log

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

    1062 引用 • 3456 回帖 • 124 关注
  • App

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

    91 引用 • 384 回帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 88250

    大叔介绍得好详细哦 :-)

  • 其他回帖
  • someone

    af 速度不错,不过最大的问题是会定期重启程序,一重启数据就还原了 (哼哼猪)

  • someone

    你博客现在是在 af ?速度还行

  • someone

    效果冒失很好

  • 查看全部回帖
DASHU
大叔已经成为一个老油条了~~

推荐标签 标签

  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 633 关注
  • 开源中国

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

    7 引用 • 86 回帖
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    173 引用 • 1559 回帖
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    110 引用 • 153 回帖
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 563 关注
  • 千千插件

    千千块(自定义块 css 和 js)
    可以用 ai 提示词来无限创作思源笔记

    32 引用 • 69 回帖
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    127 引用 • 169 回帖
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    105 引用 • 908 回帖
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    33 引用 • 108 回帖
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 2 关注
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 284 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖 • 1 关注
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 11 关注
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    151 引用 • 257 回帖 • 1 关注
  • GraphQL

    GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

    4 引用 • 3 回帖 • 11 关注
  • Follow
    4 引用 • 13 回帖 • 19 关注
  • sts
    2 引用 • 2 回帖 • 260 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 691 关注
  • 电影

    这是一个不能说的秘密。

    125 引用 • 610 回帖
  • SendCloud

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

    2 引用 • 8 回帖 • 545 关注
  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    15 引用 • 7 回帖
  • InfluxDB

    InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。

    2 引用 • 123 关注
  • Unity

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

    27 引用 • 7 回帖 • 92 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    51 引用 • 200 回帖 • 2 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖 • 1 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    126 引用 • 83 回帖 • 1 关注