iOS程序猿iOS 开发 iOS Developer

实战篇-手把手教你搭建ghost博客

2016-09-02  本文已影响701人  ericze

首先上个成品:eric.com

一.购买域名,服务器

购买的渠道很多,我是直接在阿里云官网把两个买齐的.买域名没什么需要注意的,搜一下自己喜欢的域名然后按步骤购买就可以了.
买服务器的话,最低配置就可以满足需求了,操作系统要选择UBuntu 64位系统,带宽1M,具体配置如下:

image
买完服务器之后就可以进行域名解析啦,域名解析如下,添加两条就可以了
img

二.配置服务器

2.1 连接服务器

Linux/Mac OS X系统的电脑

  1. 打开SSH客户端
  2. 用户名:root 实例:120.26.xxx.xxx
  3. 输入实例密码进行登录。

Windows系统的电脑

  1. 下载安装Windows SSH和Telnet客户端Putty。 下载Putty
  2. 用户名:root 实例:120.26.xxx.xxx
  3. 按照Putty使用帮助进行登录。Putty使用帮助

ssh root@120.26.xxx.xxx
点击回车,然后输入你的服务器密码,如果密码无误就会出现欢迎界面.

2.2 安装Node.js&Nginx

sudo apt-get update sudo apt-get install -y python-software-properties python g++ make sudo add-apt-repository ppa:chris-lea/node.js
如果敲上面的代码出现: add-apt-repository: command not found ,需要先安装才能继续进行:
sudo apt-get install python-software-properties sudo apt-get install software-properties-common
安装完成之后继续执行下面的命令:
sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get update sudo apt-get install nodejs
都执行完之后用node -v查看安装是否成功:v0.10.37
npm -v:1.4.28
接下来安装Nginx: sudo apt-get install nginx

2.3 安装MySQL

用MySQL数据库来管理存储博客的数据
sudo apt-get install mysql-server
安装过程中系统会让你给root用户设置密码,

image
如果安装过程中出现 mysql Access denied for user 'root'@'localhost' (using password:YES) 解决方案:
  1. 打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。
  2. 重启MySQL服务。
  3. 在命令行中输入“mysql -uroot -p”(不输入密码),回车即可进入数据库。
  4. 执行,“use mysql;”使用mysql数据库。
  5. 执行,“update user set password=PASSWORD("rootadmin") where user='root';”(修改root的密码)
    (期间我还select下user表中的记录,查询全部的时候显示了一些乱码,然后我只查询了user表中的Host、User、Password字段,貌似当时显示了3条记录,有1个没有名称。当然,为了解决问题,这些我也管不了了。)
  6. 打开MySQL目录下的my.ini文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。
  7. 重启MySQL服务。
  8. 在命令行中输入“mysql -uroot -prootadmin”,问题搞定!
    实际解决方案:删除mysql,重新安装
    安装完MySQL后,设置utf8
    执行命令: cd /etc/mysql
    编辑my.conf文件: vi my.cnf
    然后去修改一下配置文件,点击i进入插入模式
    [mysqld] collation-server = utf8_unicode_ci init-connect='SET NAMES utf8' character-set-server = utf8
    编辑完成之后,按ESC 然后 输入 :wq,保存并退出编辑.然后重启MySQL,
    service mysql restart
    之后我们来检查一下修改是否正确,进入MySQL命令行界面:
    mysql -uroot -p
    输入之前设置的MySQL密码,然后输入指令:
    show variables like 'collation%';,检查键值对是否一致,如果不一致,就去打开刚才的配置文件检查修改的是否有误.
2.4 创建ghost数据库,配置Nginx
2.5 安装Ghost

现在前戏已经做足,重头戏登场,这里我参考的文章里给的方法都不太对,我稍微花了点时间去查找.因为下载的是zip文件,所以先下载个解压工具,
进入srv文件夹:cd /srv/
下载解压工具:sudo apt-get install unzip
然后去下载Ghost: sudo wget http://dl.ghostchina.com/Ghost-0.7.4-zh-full.zip,这个地址是我当时下载的最新版,如果要下载最新版,可以直接去官网拷贝,地址为: Ghost官网下载地址.
然后解压ghost: sudo unzip ghost.zip -d ghost
解压之后,进入Ghost目录修改配置文件:cd /srv/ghost/
拷贝一份配置文件模板:sudo cp config.example.js config.js
然后打开配置文件进行编辑:sudo vi config.js

配置文件里边有两种数据库,上边的是sqlit3的,把那个注释掉,然后下边那个是MySQL的配置,把这个注释打开,注意操作过程中不要出错.这里只修改一下生产环境的配置信息,具体修改如下:
// ### Production // When running Ghost in the wild, use the production environment // Configure your URL and mail settings here production: { url: 'http://ghostchina.com', //替换为你自己的域名。 mail: {}, database: { updateCheck: false, client: 'mysql', connection: { host : '127.0.0.1', user : 'root', //我们暂且用 MySQL 的 root 账户 password : '123456', //输入你的 MySQL 密码 database : 'ghost', //我们前面为 Ghost 创建的数据库名称 charset : 'utf8' } }, server: { // Host to be passed to node's `net.Server#listen()` host: '127.0.0.1', port: '2368' } },
编辑完成之后最好检查一下,因为随便输错一个字符,就要从头排查错误,很伤!
比对无误之后,按ESC,然后输入 :wq保存并退出编辑.

终于可以启动ghost了!

执行如下命令重启Nginx:
sudo service nginx restart
然后进入ghost文件目录:cd /srv/ghost
使用forever工具启动ghost:sudo NODE_ENV=production forever start index.js
然后打开浏览器输入你的域名就可以看到ghost画面了,如果你的域名没有备案的话,可以先输入服务器地址查看页面,书写博客。

image
在搭建过程中遇到什么问题,可以联系我交流问题。
上一篇 下一篇

猜你喜欢

热点阅读