1

使用Ghost搭建个人博客

作为一个技术人员,一般都会有写一些博客,分享一些文章(咱们做技术的就是爱分享)。因此也诞生了非常多的开源博客系统,比如像wordpress也是目前世界最流行,应用最广的一个天源博客系统,有非常多的插件及模版。但最近得到的消息是"新的wordpress当放弃php,从而使用node.js作为主要语言"了,由此看来未来nodeJS 必火啊。

Ghost是一个简介而又轻量级的天源博客,它支持多人维护,目前有很多技术大牛也都是使用的这个博客系统。因为它的简洁、优雅所以我也试着搭建了几个。

然后我就一本正经的抄了Ghost的一段简介:

Ghost 是一套基于 Node.js 构建的开源博客平台(Open source blogging platform),具有易用的书写界面和体验,博客内容默认采用 Markdown 语法书写,目标是取代臃肿的 Wordpress。

下面我就简单讲解一下在linux系统下如何使用Ghost搭建搭建个人博客网站。

所使用的服务器是 亚马逊的AWS 它有一年的免费期限,所以我也就整一个试了试,感觉还行,就是连接有点慢。毕境服务器在国外嘛,也是可以理解的,如果有朋友有兴趣的话在下面留言。

安装 Node

以下方式仅代表我个人的安装经验,如果有不正确的话请去官网看看,那边有更加详细的说明,实在搞不定的话可以去google搜搜看,或在Stack Overflow请教一下,应该会有人回答你的。( ̄▽ ̄)

ubuntu 安装

因为我使用的是ubuntu系统,所以直接执行命令就行了:

sudo apt-get install nodejs
sudo apt-get install npm

安装方法很简单有木有...

如果是CentOs系统的话可以试试用yum进行安装,如果没有的话,可以参考下面的安装方法...

CentOS 安装

  • 下载源码,你需要在nodejs.org下载最新的Nodejs版本:

    wget https://nodejs.org/dist/v4.2.2/node-v4.2.2-linux-x64.tar.gz
  • 解压源码:

    tar zxvf node-v4.2.2-linux-x64.tar.gz
  • 编译安装:

    cd node-v4.2.2-linux-x64
    ./configure --prefix=/usr/local/node/4.2.2
    make
    make install
  • 配置NODE_HOME,进入profile编辑环境变量:

    vim /etc/profile
  • 设置nodejs环境变量,在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容:

    #set for nodejs
    export NODE_HOME=/usr/local/node/4.2.2
    export PATH=$NODE_HOME/bin:$PATH

    :wq保存并退出,编译/etc/profile 使配置生效

    source /etc/profile

    npm模块安装路径

    /usr/local/node/4.2.2/lib/node_modules/

    官网好像有教程,以官网的为准

测试

如果安装成功的话执行命令看看版本: node -vnpm -v

如果显示以上信息,那么恭喜你,安装成功了...

安装 Nginx

安装 Nginx 也非常简单,伟大的ubuntu为咱们省了不少事儿啊...

Ubuntu安装nginx

不多说了一条命令完事:

sudo apt-get install nginx

简直简单到让人无语,当然如果使用的不是Ubuntu系统而是CentOS的话可以参考下面的安装方式。

CentOS安装nginx

CentOS 可以使用yum安装,也是一条命令,非常简单:

sudo yum install nginx

如果yum源也有的话可以把它加进去:

/etc/yum.repos.d/目录下创建一个源配置文件nginx.repo:

cd /etc/yum.repos.d/ 
vim nginx.repo

填写如下内容:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

保存,则会产生一个/etc/yum.repos.d/nginx.repo文件。

然后直接执行如下指令即可自动安装好Nginx:

yum install nginx -y

测试

nginx -v

如果显示了版本信息就表示安装成功了

安装Ghost

前面说了辣么多的废话,终于要开始安装咱们的主角Ghost啦

下载并解压Ghost

如果不了解的话可以登陆ghost.org官网进行相关的了解

官网的安装配制教程: Basic nginx config

cd /var/www
mkdir ghost
cd ghost/
sudo wget https://ghost.org/zip/ghost-0.7.1.zip
unzip ghost-0.7.1.zip

解压完后咱们会看到以下目录及文件:

这里咱们可以选择安装某个模式,有非常多打开config.example.js文件看看,先别急着执行命令。

这里有很多种模式,开发模式,生产模式,测试模式等等,默认使用的是sqlite数据库,这个不需要安装。如果不喜欢sqlite想使用mysql的话可以把这个配制修改一下:

production: {
        url: 'http://you-blog.me',
        mail: {},
        database: {
            client: 'mysql',
            connection: {
                host     : 'you mysql ip', // 我的mysql不在本机上,所以这里不就讲怎么安装mysql啦
                user     : 'user',
                password : 'password',
                database : 'ghost',
                charset  : 'utf8'
            }
        },
        server: {
            host: '127.0.0.1',
            port: '2366' // 不要重了
        }
    },

下图公供参考

注意,如果你这服务器要安装多个ghost的话,端口一定不能重

好了,咱们不管开发,不管测试,直接使用生产模式吧。。。(咱就是这么自信,嘿嘿)

执行以下命令:

sudo npm install --production

如果没报错的话应该就安装成功了,先别急着运行,咱们得先通过nginx把访问给转发过来,否则就只能通过ip加端口进行访问了...

配制nginx

前面已经安装好了nginx 现在咱们需要把通过域名访问通过nginx转发给node

咱们新建一个配制(如果对nginx配制有兴趣的话在下面留言我可以再写一篇,怎么说当年这配制也研究了好久呢...)

$ sudo vim /etc/nginx/sites-available/dudulu.conf

输入以下代码:

server {
    listen 80;
    server_name you-blog.me;
    root /var/www/ghost;
    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass         http://127.0.0.1:2366; # 注意端口不要重了
    }
}

下图是我的配制 公供参考...

配制完后执行命令:

sudo service nginx restart

重新启nginx

ps: /etc/nginx/sites-enabled 这个目录如果没的话,自己设置一下软链接...

启动Ghost

都到这一步了,一切看起来都是辣么的顺利,是时候启动了...

见证奇迹是时刻到啦,输入神奇的命令启动:

sudo npm start --production // 这个是启动刚刚所配制过的mysql的生产环境

如果没报错的话,应该就算是完成了,咱们通过你的域名访问一下试试。

这里要重点注意了:

一定不要让你的ssh连接断啦,否则ghost就停止了哈,要怎么让ghost长期运行呢...有好多的方案,详细的请看下面...

让 Ghost 一直运行

前面提到的启动 Ghost 使用 sudo npm start --production 命令。这是一个在开发模式下启动和测试的不错的选择,但是通过这种命令行启动的方式有个缺点,即当你关闭终端窗口或者从 SSH 断开连接时,Ghost 就停止了。为了防止 Ghost 停止工作,我们得解决这个问题。

Forever

安装 Forever 扩展 Forever

你可以使用 forever 以后台任务运行 Ghost 。forever 将会按照 Ghost 的配置,当进程 crash 后重启 Ghost。

安装 Forever

执行命令:

sudo npm install forever -g

为了让 forever 从 Ghost 安装目录运行,输入以下命令:

sudo NODE_ENV=production forever start index.js

这个时候应该已经启动好了,咱们可以关闭ssh试试,依然是可以访问中的...

停止 Ghost

sudo forever stop index.js

检查 Ghost 当前的运行状态:

sudo forever list

初始化脚本

Linux 系统在启动的时候会运行初始化脚本。这些脚本通常存在于 /etc/init.d 。为了让 Ghost 一直运行下去甚至自动重启,你可以设置一个初始化脚本来完成这个任务。

  • 使用以下命令创建 /etc/init.d/ghost 文件:

        sudo curl https://raw.githubusercontent.com/TryGhost/Ghost-Config/master/init.d/ghost -o /etc/init.d/ghost
  • 使用 sudo nano /etc/init.d/ghost 命令打开文件并检查以下内容:

  • GHOST_ROOT 变量的值更换为你的 Ghost 安装路径

  • 检查 DAEMON 变量的值是否和 which node 的输出值相同

  • 这个初始化脚本将在你的系统上以它自己的 Ghost 用户和用户组运行,使用以下命令来创建:

    sudo useradd -r ghost -U
  • 确保 Ghost 用户可以访问安装目录:

    sudo chown -R ghost.ghost /var/www/ghost
  • 使用以下命令给这个初始化脚本加上可执行权限:

    sudo chmod 755 /etc/init.d/ghost
  • 使用以下的命令来控制 Ghost:

    sudo service ghost start
    sudo service ghost stop
    sudo service ghost restart
    sudo service ghost status
  • 为了让 Ghost 能在系统启动时同时启动,我们必须要将刚刚创建的初始化脚本注册为为启动项。 执行以下两个命令:

    sudo update-rc.d ghost defaults
    sudo update-rc.d ghost enable

初始化Ghost

咱们输入自己的域名进入博客,当然咱们需要初始化后台

输入: http://you-blog.me/ghost 进行后台,这时应变是没有初始化的,需要你进行一次初始化设置。按照它的提示一步一下往下走就是了,非常简单,设置完后咱们就可以登陆后台了。请一定要记住自己所设置的用户名及密码请一定要记住自己所设置的用户名及密码请一定要记住自己所设置的用户名及密码 重要的话一定要说三遍。

输入自己的用户名密码登陆...

嗯,大概长这个样纸:

关于它的使用,以后有时间我再写几篇文章吧,最近我也还在研究...

安装themes

其实 Ghost 默认的主题也是很不错的,我也挺喜欢的,比我自己的这个博客好看多了...但这样就能满足我吗?显示不可能,然后我又找了大量非常好看的主题,那要怎么安装呢?

下载主题包

利用好伟大的Google搜索工具吧,我也找了一些 嗯... GitHub 上也有好多

拿一个演示一下吧...

Ghost 的主题包放在 项目/content/themes 这个目录下,所以咱们进入到这个目录,然后下载主题包:

cd /var/www/ghost/centent/themes/
sudo wget https://github.com/DanielTamkin/evergreen/archive/master.zip
sudo unzip master
sudo mv evergreen-master evergreen
sudo chown -R ghost:ghost ./

好了主题包已经下载完成了,然后咱们重启一下 Ghost,还记得上面咱们说过的命令吗?

sudo service ghost restart

重启动完Ghost 咱们回到浏览器,进入设置页面:

http://you-blog.me/ghost/settings/general/

找到 Theme 项,如下图:

选择系不系多了一个模版选项,咱们就用它吧...

设置完后咱们点击 VIEW BLOG 去看看...

不要注意上面的东西,这是给朋友搭建的一个博客,也不要去访问,我只是拿来测试

看到没?变了耶...好玩吧...

最后再多说一句: Ghost 带的Markdown编辑器真的很好用...

拿铁味的摩卡,使用Ghost搭建个人博客

本文:使用Ghost搭建个人博客

更多请访问我的个人博客:LatteCake


拿铁味的摩卡蛋糕
351 声望22 粉丝

只要能够这样静静地看着你就好。