AppFog 部署 B3log 详细教程

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

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

  • 博客

    记录并分享人生的经历。

    270 引用 • 2386 回帖 • 1 关注
  • B3log

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

    1089 引用 • 3466 回帖 • 303 关注
  • App

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

    90 引用 • 383 回帖

相关帖子

欢迎来到这里!

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

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

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

  • someone

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

  • someone

    真的这么恐怖吗,看来那我要经常备份才行了。 (大叔)

  • someone

    效果冒失很好

  • someone

    大叔你加我的 qq 可以不?
    405718286
    这方面还有一些问题想要请教

  • someone

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

  • someone

    嗯 是的 还在 appfog

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

推荐标签 标签

  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    89 引用 • 113 回帖
  • ZeroNet

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

    1 引用 • 21 回帖 • 589 关注
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    5 引用 • 13 回帖
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    116 引用 • 99 回帖 • 279 关注
  • App

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

    90 引用 • 383 回帖
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    170 引用 • 414 回帖 • 440 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    673 引用 • 535 回帖
  • PWA

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

    14 引用 • 69 回帖 • 117 关注
  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    21 引用 • 140 回帖 • 26 关注
  • GitBook

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

    3 引用 • 8 回帖 • 2 关注
  • Sillot

    Sillot (汐洛)孵化自思源笔记,致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点
    Github 地址:https://github.com/Hi-Windom/Sillot

    11 引用 • 26 关注
  • 反馈

    Communication channel for makers and users.

    123 引用 • 905 回帖 • 177 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    124 引用 • 3607 回帖 • 2 关注
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖 • 1 关注
  • 持续集成

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

    14 引用 • 7 回帖 • 2 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖
  • Hprose

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

    9 引用 • 17 回帖 • 587 关注
  • VirtualBox

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

    10 引用 • 2 回帖 • 2 关注
  • 倾城之链
    23 引用 • 66 回帖 • 97 关注
  • 运维

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

    148 引用 • 257 回帖 • 2 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 93 关注
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    37 引用 • 24 回帖
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    284 引用 • 4481 回帖 • 650 关注
  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 314 关注
  • Spring

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

    938 引用 • 1456 回帖 • 171 关注
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    91 引用 • 751 回帖 • 3 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 11 关注