/ ghost

折腾……Ghost升级到1.x

折腾……Ghost升级到1.x

首先说明下,Ghost CLI 在 CentOS 上安装 1.x 版本的自动化功能基本都可以使用,但还是有很多问题,需要一个个解决处理。

记得事先导出所有 ghost 内容。

一、环境准备

(一)Node6.x

如果之前安装过其他低版本 nodejs 需要先删除之。

Ghost 使用 Node6.x 版本,在 CentOS 上需要重新配置源来安装。具体可参考 node 官方文档

On RHEL, CentOS or Fedora, for Node.js v6 LTS:

curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -

Alternatively for Node.js 8:

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -

Then install:

sudo yum -y install nodejs

(二)MySQL 5.7

因为想要使用 emoji 字符,所以需要安装 MySQL 5.5以上版本的数据库。

1、重新配置源并安装

CentOS 6 里面自带的 MySQL 安装版本是5.1.x的,所以需要做些处理,具体可以参考这篇文档
核心部分如下:

## 删除系统自带的mysql及其依赖
# yum -y remove mysql-libs.x86_64

## 给CentOS添加rpm源,并且选择较新的源
# wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
# yum localinstall mysql-community-release-el6-5.noarch.rpm
# yum repolist all | grep mysql
# yum-config-manager --disable mysql55-community
# yum-config-manager --disable mysql56-community
# yum-config-manager --enable mysql57-community-dmr
# yum repolist enabled | grep mysql

## 安装mysql 服务器
# yum install mysql-community-server

2、如果之前安装过 MySQL5.1.x

如果之前安装过 MySQL5.1.x,在启动5.7.x 版本服务时会出现一些问题,可参考如下文档:

3、启动报错

* InnoDB: mmap(137428992 bytes) failed; errno 12
* InnoDB: Cannot allocate memory for the buffer pool

原因:内存不够

# 打开/ect/my.cnf,在[mysqld]中加入:
innodb_buffer_pool_size=20M
# 具体大小看主机内存情况

4、MySQL安全配置

## mysql安全设置
# mysql_secure_installation
  • 提示:root 密码不正确
# 通过如下命令找到mysql root 初始密码
sudo grep 'temporary password' /var/log/mysqld.log 

二、安装 Ghost

1、配置检查

参照官方Hosting Guide手册说明安装。

  • 检查内存是否足够,官方推荐1GB 以上内存

We recommend a server with minimum 1GB memory. If you use something smaller, you must configure swap in order to run the install process successfully.

  • 配置内存交换区(Swap)
dd if=/dev/zero of=/var/swap bs=1k count=1024k
mkswap /var/swap
swapon /var/swap
echo '/var/swap swap swap default 0 0' >> /etc/fstab

若使用sudo命令时,最后命令改为:

sudo sh -c "echo '/var/swap swap swap default 0 0' >> /etc/fstab"

2、安装 ghost-cli

  • 必须使用独立用户(非 root)安装 ghost-cli
    sudo npm i -g ghost-cli

  • 创建独立文件夹
    sudo mkdir -p /var/www/ghost

  • 更改目录的所有者
    sudo chown ghost:ghost /var/www/ghost

  • 开始 ghost-cli 安装

cd /var/www/ghost
ghost install
  • 启动 ghost
ghost start

3、CentOS 平台安装 ghost 时的选项处理

具体可参考官方文档。但必须注意:

  • 使用事先创建好 MySQL 中的 ghost 用户及其 ghost_production 数据库的所有者权限;
  • 使用自己配置的 nginx配置(包括 ssl配置);
  • 不要选择使用systemd,会报错;
  • 安装完后,ghost-cli 会自动启动 ghost。此时会提示启动出错,不必管这个错误。
  • 安装过程的任何错误或 ctrl + c 中断,都可使用 ghost setup命令继续。

启动 ghost

  • 切换到ghost用户下,使用ghost start启动。
  • 导入之前导出得到的 json 内容后,记得将原 ghost 下 content 目录中的 images 文件夹拷贝到 /var/www/ghost/content/ 目录下。
  • 可通过 config.production.json文件内容修改配置。

4、升级 ghost 遇到问题处理

  • 经常性升级ghost中会碰到数据库migrate错误,只要执行下面的命令重新设置ghost即可:
ghost setup
折腾……Ghost升级到1.x
Share this