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
二、安装 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
3、CentOS 平台安装 ghost 时的选项处理
具体可参考官方文档。但必须注意:
- 使用事先创建好 MySQL 中的
ghost
用户及其ghost_production
数据库的所有者权限; - 使用自己配置的
nginx
配置(包括ssl
配置); - 不要选择使用
systemd
,会报错; - 安装完后,
ghost-cli
会自动启动 ghost。此时会提示启动出错,不必管这个错误。 - 安装过程的任何错误或
ctrl + c
中断,都可使用ghost setup
命令继续。
启动 ghost
- 使用
sudo nohup ghost run &
启动。 - 导入之前导出得到的 json 内容后,记得将原 ghost 下
content
目录中的images
文件夹拷贝到/var/www/ghost/content/
目录下。 - 可通过
config.production.json
文件内容修改配置。