利用coding和七牛云搭建自己的免费ghost动态博客
发布于 8 年前 作者 kinglisky 17198 次浏览 来自 分享

利用coding和七牛云搭建自己的免费ghost动态博客

今年的第一场雪,纷纷扬扬的下了一天,今天早起厚厚的一层,路上好滑,没想到毕业前还能看到一场大雪,值得纪念,话说大一时候的那场雪也好大呀。

大四的这个学期也快结束了,准备年后开始找工作,也该南归了,北国的雪什么时候再见吧。

前段时间架起了自己的博客,在网上能用域名访问到自己的东西还是很不错的,最主要的是如何不发一毛钱,架起访问速度不错而且配置简单且高大上的博客呢?

网上有许多的教程都是讲如何在github上面搭建自己的静态博客,即jekyll静态博客,大致的原理是,本地配置jekyll,编写md格式的博客文件,jekyll负责生成对应的静态文件,然后推送到github仓库中上,利用其github pages的功能访问其生成的静态网页。大致是这样吧,没细看,人家才不管有什么错呢。有关github pages和jekyll静态博客请自行百度谷歌。静态博客应经很不错了,但还是有几个比较大的缺点,对写作人员的基础有要求,每次写博客都要保存推送啦,还得配置挺多的东西,国内有墙,github.io的速度没那么快啦。

本人前端小菜一只,坚持走javascript最牛逼的路线,自然而然就学了了一些node方面的东西,我大node是不是也有开源的博客系统啊,果然是有的,那就是ghost看到的它的瞬间真被惊艳到了,ghost的定位是轻博客,比较专注与写作,它有着一套简洁而优雅UI,还有主题市场提供各种主题支持,响应式浏览支持,动态博客,自带后台管理,与markdown编辑器(含各种快捷键)…看官网说明吧!ghost中文官网

好吧开始进入正式的主题吧!如何利用coding.net和七牛云架设免费的ghost动态博客

学要的知识

  • 了解node基础的知识,毕竟ghost博客使用node,没学过node跟着教程走估计也行吧?恩,应该吧!我尽量写详细一点。
  • 了解git基本操作,(毕竟要克隆推送修改数据的,会最基本的操作就行)
  • coding.net 账号(没有的话注册申请一个呗,毕竟是在上面架设ghost,国内的代码托管服务,很不错,我们用的是他的项目演示功能)
  • 申请一个七牛云的账号呗。

东西都放在codin上先去注册一个账号呗。

先得有一个新的ghost博客系统吧。

  1. 你可以选择自己先去官网下一个安装玩一玩(官网有比较详细的教程),这得有本地的node环境,没有的直接看下一步吧。
  2. 或者更简单直接Fork我的已经配置好的ghost博客系统:用于coding部署用的ghost博客 https://coding.net/u/kinglisky/p/ghost/git然后直接git clone到本地修改配置(当然也可以直接在coding上面直接修改配置,不想麻烦的小伙伴直接fork就好了)。
  3. 由于是直接用于的服务生产环境的,所以配置文件config.js是针对生产环境的,如果想在本地运行,请先备份项目的根目录里的config.js副本到其他地方(因为服务等下服务端配置用的可是它),然后复制根目录底下configLocation.js内的所有配置内容直接替换config.js的内容。然后在项目的根目录底下执行npm install(因为没有把依赖模块一并推送到库,太大了),然后,然后如果你用的是window平台的就会发现它安装依赖失败了(一般来说,没有最好),因为如果是在windows平台下安装ghost依赖node模块时,sqlite3模块需要编译,也只有正确配置了node编译才行…所以使用window的小伙伴想本地运行ghost,直接下个官网的完整版(包含依赖)然后直接npm-start或node index.js运行。而linux和mac机的小伙应该安装完依赖就能运行了,一样的命令npm-start或node index.js运行。然而我们今天的只是配置服务端ghost,所以不本地运行,请先保证config.js还是和刚克隆下来的一样,如果不是请先把config.js恢复原状。

其实现在就可以先把ghost挂到coding的代码演示了。

  1. 你已经把ghost Fork到自己的账号底下了吧?那个打开ghost的项目主页,点击演示: 点击开始检测->开启功能 然后到设置界面:

  2. 设置自定义域名 设置环境变量 名称:NODE_ENV 值:production 点击添加。

  3. 添加mysql服务

  4. 到控制台,点击一键部署,过一会儿就会显示部署成功然后就可以通过刚刚你自定义的域名进行访问。如果部署不成功可以多试几次,前提是你前面的添加环境变量和mysql没错没错,且config.js必须是服务端配置用的,你没改就不会错的。 部署中。。。。。 部署成功: 访问: 在你的域名后面加上/ghost就可以进入后台管理系统进行个人的账号配置:

  5. 对用户进行配置时可能提示你对邮箱进行配置,请参考官网的ghost邮箱配置,其实不配也没什么,邮箱只是用来找回密码用的。

为ghost添加静态文件托管

ghost博客其实已经完全可以使用,但coding的提供给的普通用户的演示功能,如果一天之内没有人访问的话,第二天演示就会挂起(如果你肯交钱的话,那就另外再说了),那你写博客上传上去的静态文件,主要是图片都会丢失,而用户写的博客数据一些的文本数据其实存在了演示平台我们开启的mysql数据库中,所以丢不了,但还是建议用户每隔一段时间自己通过ghost后台的工具自己手动导出数据,毕竟免费提供的东西,那天不小心挂了这么办。

如何解决:

(1)写博文是引用图片是通过url进行引用而不是上传图片,而且直接把图片上传到服务端,随着图片的增多系统消耗也会越来越大,随意推荐用url引用图片。

这里贴一个自己写的一个小工具:如何将github pages变成一个静态资源库

(2) 中文版的ghost自带支持七牛云,只需进行简单的配置就行了。

使用七牛云提供的静态资源托管,用户同样可以上传图片,只不过上传的图片不会储存在ghost的服务端,而是转存到了七牛云的静态空间中,然后它会生成图片的url,ghost图片引用的是七牛云空间里图片的url。这样也就不怕服务停掉以后静态文件丢失了。废话少说。

开始配置

  1. 注册登录,还可以尝试申请身份验证成为标准用户,可以拥有更多的空间和流量。

申请了账号登录以后,可以看到:

点击新建空间:空间名要求使用英文,等下会用的。 访问控制直接选择公开空间就行了。配置其他的就按照默认的来就是了(当然自己也可以配置,嫌麻烦的直接跳过吧),可以看到我已经建好一个叫kinglisky的空间,打开你刚刚新建的空间可以看到:点击-空间设置 设置镜像储存: 镜像源填写你在coding配置的自定义域名: 我填的是我的ghost博客地址:http://codinghost.coding.io/

七牛域名:先记下来有用的。

还有就是个人的密钥AKSK,点击首页的账号,然后点密钥,就能看到了,这也有用:

然后开始配置七牛云

打开你的ghost项目的config.js,其实直接在coding编辑就行了,也可以本地编辑完成后再推送过来。我就直接在coding上面编辑了。

1.把原来的sqlite储存注释掉 2.去掉七牛配置的注释进行配置

然后保存,按照前面步骤,部署应用就行了。

这样上传的静态资源就会被同步到七牛云上面。

关于ghost的使用可以参照官网的手册。

教程主要参照我是如何在coding搭建ghost博客

其他参考: 如何为ghost添加多说评论系统

我的博客-青鲤锦时 github

回到顶部