搭建Ghost博客

初始化 VPS

如果没有安装 yum 源,先安装 yum 源。之后安装依赖文件

1
2
3
$ yum update //更新yum源
$ yum groupinstall "Development Tools" //安装开发工具组包
$ yum install wget

安装 mysql

1. 下载 MySQL 官方的 Yum Repository

1
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

2. 安装 MySQL 的 Yum Repository

1
rpm -ivh mysql-community-release-el7-5.noarch.rpm

3. 安装 MySQL 数据库的服务器版本

1
yum install mysql-community-server

4. 启动数据库

1
2
3
4
5
systemctl enable mysqld
systemctl start mysqld.service
//查看运行状态
systemctl status mysqld.service
service mysqld restart

5. 设置数据库密码

1
2
3
4
5
6
7
8
9
10
//5.7以上版本要先获取初始密码
grep "password" /var/log/mysqld.log
//利用初始密码登录
mysql -uroot -p
//设置新密码,必须包括英文、数字、特殊字符等
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
//5.6版本
mysql -u root
set password for 'root'@'localhost' =password('root');

6. 编码
在/etc/my.cnf末尾添加

1
2
[mysql]
default-character-set = utf8

修改远程连接设置

1
mysql> grant all privileges on *.* to root@'%'identified by 'new password';

7. 创建名为 ghost 的用户并新建名为 ghost 的数据库,同时给 ghost 用户授予 ghost 数据库的所有权限

1
2
CREATE DATABASE ghost;
GRANT ALL PRIVILEGES ON ghost.* To 'ghost'@'127.0.0.1' IDENTIFIED BY '为ghost用户设置一个与root不同的密码';

编译安装 node.js

1
2
3
4
5
6
7
wget http://nodejs.org/dist/v0.10.40/node-v0.10.40.tar.gz
tar zxvf node-v0.10.40.tar.gz
rm node-v0.10.40.tar.gz
cd node-v0.10.40
./configure
make
make install

编译安装 nginx

1
yum install nginx

运行 nginx

1
2
systemctl enable nginx
systemctl start nginx

配置 Nginx 的反向代理

1
2
3
4
5
6
7
8
9
10
vi /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name reedw.me(填写博客地址)
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:2368;
}
}

重新启动 Nginx 服务器,让设置生效。

1
systemctl restart nginx

修改服务器时间

1
2
yum install -y ntp
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

安装 Ghost

1
2
3
4
cd /srv/www/
wget http://dl.ghostchina.com/Ghost-0.7.4-zh-full.zip
unzip -d ghost Ghost-0.7.4-zh-full.zip //解压
cd /srv/www/ghost

编辑 ghost 的配置文件

我们进入 Ghost 系统目录,为 Ghost 增加配置文件并配置数据库:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
cd /srv/www/ghost
cp config.example.js config.js
vi config.js
production: {
url: 'http://reedw.me', //你的blog地址
mail: {},
database: {
client: 'mysql',
connection: {
host : '127.0.0.1',
user : 'root',
password : 'root',
database : 'ghost',
charset : 'utf8'
},
debug: false
},
},

以生产模式运行 Ghost

安装 forever
npm install forever -g
运行 ghost
cd /srv/www/ghost
NODE_ENV=production forever start index.js