汪建军的博客

休迅飞凫,飘忽若神,凌波微步,罗袜生尘。

Android developer, sometimes thinking, sometimes try it.


我是如何搭建这个博客系统的

Yap!!!
花了两天时间,在大湿兄 钱进 的全力指导下终于搭建起了这个博客。服务器是用的阿里云,域名是在万网买的,用dnspod进行域名管理,目前域名正在备案中,这期间大湿兄给我弄了个他的子域名:http://wang.enyes.net/ 临时用着,避免直接输入ip。

关于ghost

我了解ghost是从一些牛人的博客开始的,喵神周楷雯race604等等,他们的博客都很漂亮或简洁,在页脚发现都是由ghost搭建的,于是乎了解了一下ghost,全新的团队,火爆的开发语言node.js,全新的博客系统。期间我和大湿兄讨论过什么博客系统好,大湿兄一直用的是Wordpress,他说wp主要是用的人多,发行久远,相对稳定,主题样式也是多到爆。ghost vs wordpress?知乎之~ 果然知乎上大多更看好ghost,轻量没wp那么臃肿,简单纯粹,技术新,还有各种夸赞nodejs的,也不是很懂..

同时我了解到用github pages也能搭建一个博客,托管于github意味着主机免费,于是随意折腾了一下,它只能用Jekyll编写静态页面,嗯...总体来说,这玩意比较low,可人家不要钱就不多说了,全当学习了一下Jekyll。

综上,ghost胜出!

如此新潮装逼套装岂能错过?

于是我按它中文站上教程弄了一个本地的系统,搭建本身是件很简单的事情。

下面说说作为一个新手,如何在自己的服务器上搭建ghost,弄个漂亮的主题以及添加评论系统(ghost比较纯粹,没有wordpress那种自带的评论系统),填上各种坑,最后能顺利的写博客。

服务器与域名

我一开始想买个非大陆的主机,能用ss你懂的..,大湿兄之前用的linode,但是最近老是被墙,不好,他还给我介绍了DigitalOcean、香港的星光互联这些不错的主机商,最后发现..我没有信用卡,无法支付o(╯□╰)o,我填写AWS资料到第二项就要填信用卡信息,直接关掉了..然后还贵,作罢。国内来说阿里云最大,新崛起的Ucloud口碑也不错,我对比了两家的后台,阿里云要更完善,功能更多,拥抱阿里云!于是我买了个按流量计费最便宜配置的服务器,45块钱一个月,如图: 其实阿里云对于新手来说还是很不错的,首先是全中文,很多专业名词会了解得比较清楚(阿里在对云服务器的概念在国内普及有着卓越的贡献),然后是它的后台强大,健壮稳定。

然后在万网买域名,.com的,45块钱一年,很便宜。这里说个坑,买完发现他送了我一张20块钱的阿里云新购券(主机先买,无法在续费的时候抵扣o(╯□╰)o),所以作为新手的你,最好是先买域名,再买主机,填邀请码也能优惠几块钱。

接着域名在阿里备案按流程操作一般没什么问题,只需等待7-20天,大湿兄说管局是有个统一审批的日子,所以等待长短全凭运气。注意拍照的细节,注意填核验单的时候只能填写最底部虚线以下的部分,中间和上面填写作废,不要看着表上的框框就有打上钩的欲望...

安装

你需要熟悉简单的Linux命令,如文件/文件夹操作、创建软链接,明白Linux下使用apt-get安装软件,会vi读写操作。
Windows用户你需要的工具:

  • xshell - 用于本地连接云服务器,操作你的云服务器
  • SSH Secure Shell - 用于本地与云服务器的文件交换

对于Mac用户,系统自带的终端非常强大,可以做很多事情,在终端输入如

ssh root@[你的服务器外网ip]

之后输入主机密码就能直接连上云服务器进行操作了,体验比xshell好。 传文件的话你可以使用Filezilla的mac版。

连上服务器后进入输入

apt-get update

更新你的安装目录,这个命令可以在安装一些常用软件之前执行一下。

接下来按照官方教程安装,不赘述。这里提一个要注意的地方,官方文档关于用Forever的方式让Ghost一直运行,有这样一句

为了让 forever 从 Ghost 安装目录运行,输入 NODE_ENV=production forever start index.js

当你重启你的服务器的时候,想重启Ghost,在ghost目录下输入这一句是无效的,你要输入的是

forever start index.js

一般来说,一个全新的主机,过程中可能会出现如某些命令找不到(如unzip),但是会在上面提示你输入什么安装这个命令,安装完命令继续操作就好了。

可能有些运气不好的同学还是没法跑起来,我第一次部署也折腾了几轮,先看看下面一些补充说明,你可能会用得上:


关于config.js


顾名思义这是ghost的配置文件,位于你放置ghost的根目录,跳转到该目录,输入

vi config.js 或者 nano config.js

都能打开,你会看到它有几层,production、development、testing等等,这些是针对不同环境的配置。


production

是生产线环境的意思,也就是你最终发布版本的环境。
production下的url可以配置成你买的那个域名,当然你域名在备案的过程中这是无效的,你只能通过ip访问你的博客。
mail就是按照这个教程注册完后需要填写的地方。
database是保存你博客内容的数据库,不懂的可以不用管这里。因为ghost定义为轻量级博客,所以默认使用同样轻量级的数据库sqlite(开发过Android的同学应该很熟悉~)。你也可以按自己的喜好修改成mysql之类:

database: {
        client: 'mysql',
        connection: {
            host     : 'host',
            user     : 'user',
            password : 'password',
            database : 'database',
            charset  : 'utf8'
        },
        debug: false
}


serverhost填写你购买的主机ip。port保持2368不变,非要闲的蛋疼改掉那么在配置nginx里要改成相同的。(为什么有人要改端口号?因为有些系统的端口号初始是固定的,如tomcat默认为8080,ghost默认为2368,改掉默认的是为防止有网络黑手针对特定端口号做坏事,在此你基本上可以不用担心这个问题)

storage表示你的储存位置,不懂的可以不用管这里。默认是local-file-store,表示文件是存在本地,你可以修改成七牛云、又拍云、aliyun oss之类,以七牛云为例:

storage: {
        provider: 'qiniu',
        bucketname: 'your-bucket-name',
        ACCESS_KEY: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
        SECRET_KEY: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
        root: '/image/',
        prefix: 'http://your-bucket-name.qiniudn.com'
    }


development

是开发环境的意思。
域名可用的情况下,你想使用你的域名/ghost/进入后台可能会出现Access Denied from url: xxx你的域名xxx. Please use the url configured in config.js这样的提示然后进不去,这时将development下的url改成你的域名即可,改production下的url是无效的。
这里的server不需要修改成你的主机ip,使用默认的127.0.0.1即可。


关于Nginx


关于nginx的专业介绍,请自行google或百度,知乎上也有科普,比如这个还有这个

安装Nginx及其相关命令:
sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
sudo apt-get install nginx
nginx -v
service nginx restart

我们这里需要用到nginx的意义在于让其他人通过你的域名或ip可以访问到你的博客,而且对外屏蔽了2368这个端口号。
niginx有两个文件夹:sites-availablesites-enabled。sites-available相当于一个备份,sites-enabled才是nginx会真正使用的配置,一般的做法是在sites-available里新建一个配置,然后通过ln软链接命令指到sites-enabled,所以官方教程上有这样一个命令:

ln -s /etc/nginx/sites-available/ghost.conf /etc/nginx/sites-enabled/ghost.conf

新装的niginx可能会在sites-enabled里有个default示例,防止配置冲突,可以删掉它(以后想看了在sites-available也可以看到)。在sites-available里新建一个配置,随意命名,比如ghost.conf,填上:

server {
listen 80;
#server_name后面输入你的域名,以后就能通过你的域名访问你的博客,想要通过ip也能访问你的博客,加一个空格,在后面加上你的主机ip即可
server_name 你的域名 你的主机名;
location / {
    proxy_set_header   X-Real-IP $remote_addr;
    proxy_set_header   Host      $http_host;
    proxy_pass http://127.0.0.1:2368;
  }
}

如此保存,然后按照上面的命令指向到sites-enabled,然后重启nginx:

service nginx restart




主题

在ghost后台的全局设置可以切换主题 默认提供两套主题,下面说说如何再添加一套第三方主题。我的博客用的是喵神提供的主题。 具体如何添加、修改、使用,在这里喵神已经说得很清楚了。 首先你需要download这个项目:

wget https://github.com/onevcat/vno/archive/master.zip

解压到ghost主题目录下

unzip vno-master -d /你的ghost位置/content/themes

这样重新打开后台-全局设置-博客主题,就可以看到名为vno的主题了,进入上面那个目录按照喵神提供的文档自行修改一下即可。下面仅补充说明一下在vno上添加Disqus评论系统。


关于Disqus


Disqus是国外的一个评论系统,注册后只需简单的配置就可以为你的博客添加一个漂亮的评论系统。国内类似的有多说、友言等等,但是不太推荐用国内的,原因呵呵.. (用国内的倒是有一个好处,就是方便分享到qq、微博之类。)

首先登录Disqus官方网站注册一个账号。然后在右边点击Add Disqus to your site 上面第二行你填写的choose your unique disqus url就是到时候要添加到vno的disqus_shortname。 接下来 选择第一个universal code就可以了。

接下来,按照喵神的说明

为了使用 Disqus 的评论系统,您需要从 Disqus 获取您自己的 short name。将其添加到 comments.hbs 的 disqus_shortname 中就可以了。然后您还需要将 post.hbs 中的 {{!-- {{> comments}} --}} 替换为 {{> comments}} 来使 Disqus 生效。

如此即可。

重新打开博客后会发现在每篇博文下方出现了一个disqus评论模块。
但是你会发现是英文的。打开你的disqus后台在这里 选择language为Chinese,然后重新打开博客即可变成中文。

所有评论内容的管理都在你的disqus后台刚才建立的site里。地址是:https://XXX你的disqus_shortname.disqus.com/admin/

结束

很巧的是刚好写到这里阿里云发短信过来说我备案通过了,云服务器也自动续费到次月的今天^O^ 。感谢各位大神在前面铺的路,我也是刚接触这些没多久,有哪里说错感谢指正,有遗漏的地方留言给我,共同讨论。

转载出处:http://zzimoo.com/first/

最近的文章

如何用Spring MVC + JPA + Mysql + Tomcat + Nginx开发服务端

新入手的云主机,域名也刚备案通过,当然不单单为了搭建一个博客系统,更多的是想接触一下后台开发。在大湿兄的指点下动手写了一个简单的接口,运气不错,能跑起来,下面说下我是怎么做的。 关于SpringMVC…

后端继续阅读
comments powered by Disqus