前言
Ghost发布1.0全新版本之后已经过去近半个月,官网上最新的版本是1.52,升级明显加快了节奏,官网也建议用户更新到新版本。毕竟新版本带来了许多重量级的升级内容,全新编辑器、重新设计了全新管理后台UI和自带默认模板,有很多吸引人的新功能。
之前写过《优雅地在 CentOS 里安装Ghost 和Node v4.2.2》。相对之前0.10.x的版本,新版本安装变得极其简单,Ghost自带了cli安装工具。
有了这个安装工具,安装方法和以前完全不同,Ghost 从 1.0 开始,已经不需要其他第三方的软件来保持后台运行、更新、安装等操作,因为他们出了个命令行软件 Ghost-CLI,我们再也不需要安装 pm2 来保持后台运行,也不需要用 ghost-upgrade 来升级,因为他基本已经全部带了以前的功能。
根据官方文档搭建Ghost1.X版本,下面开始一步步讲解在自己CentOS服务器上搭建、安装、配置Ghost的过程。
前期准备
yum update 更新yum源
yum groupinstall "Development Tools" 安装开发工具包
yum install wget 安装wget下载工具
优雅地安装 Node.js 10.x LTS
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install nodejs
ubuntu安装
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs
验证是否安装配置成功: node -v
安装 Ghost-CLI
npm i -g ghost-cli
添加 ghost 运行用户和创建安装目录
假设你的博客要放在/var/www/ghost目录,那么我们就创建一个并赋予权限
adduser ghost
mkdir /var/www/ghost
chown ghost /var/www/ghost
使用普通用户安装
新版本不允许root用户安装,需要切换普通用户进行安装。
su - ghost
修改权限
新版本必须要普通用户进行安装,要修改相关权限
groupadd sudo
chown ghost:sudo /home/ghost/*
chmod 775 /home/ghost/
usermod -aG sudo ghost
本地方式安装 Ghost
默认以SQLite3为数据库安装模式
cd /var/www/ghost
ghost install local --db sqlite3
跳过检测用户安装
ghost install --db sqlite3 --no-setup-linux-user
安装1.x版本的Ghost
ghost install local --v1 --db sqlite3
升级1.x版本的Ghost
ghost update --v1
修改域名
/var/www/ghost/config.development.json 文件,修改自己的域名即可
启动 Ghost
ghost start
ghost restart
ghost stop
没问题以后,就可以把这个文件改成正式环境的文件了
mv config.development.json config.production.json
设置开机启动Nginx和Ghost
新版本必须要普通用户来启动GHOST
vi /home/start.sh
cd /home/www/sungz
ghost start
vi /etc/rc.d/rc.local
/usr/local/nginx/sbin/nginx
su - sungz -c /home/start.sh
给予start权限
chmod u+x start.sh
chown -R sungz start.sh
升级 Ghost-CLI
Ghost升级的速度很快,如果旧的服务器之前安装了ghost-cli,那么现在重新安装时,需要升级Ghost-CLI。
npm i -g ghost-cli to update
删除 内页的canonical url显示
找到 core/server/helpers/ghost_head.js
head.push('<link rel="canonical" href="' +
escapeExpression(metaData.canonicalUrl) + '" />');```
把上面代码删除即可。