最开始我是准备在docker里安装的,但是docker里安装成功之后链接指向的全是localhost,图片也链接不上。我没找到配置文件修改。后来重置了下我的服务器,直接安装才能正常使用。看之后能不能有时间更新docker内ghost博客的安装。

我的配置环境:

阿里云轻量应用服务器

  • Ubuntu16.04
  • nginx
  • node.js(8.x)
版本 支持与否
<7.x 不支持
8.x 支持
9.x 不支持
10.x 支持(推荐版本)
>11.x 不支持
  • MySQL(不能大于或等于8.0)

安装教程

创建一个新用户

打开终端并以root用户身份登录新服务器

#创建一个新用户
adduser <user>

注意:不要使用ghost作为用户名,会和Ghost-CLI冲突

#添加用户权限
usermod -aG sudo <user>

#切换到你注册的用户
su <user>

更新包

确定自己的包列表和安装包都是最新的

#更新包列表
sudo apt-get update

更新包
sudo apt-get upgrade

安装nginx

Ghost使用NGINX服务器,SSL配置需要NGINX 1.9.5或更高版本。

安装nginx
sudo apt-get install nginx

#验证是否安装成功,输出版本号
nginx -v 

给nginx打开防火墙

sudo ufw allow 'Nginx Full'

安装MySQL

#安装MySQL
sudo apt-get install mysql-server

注:如果你的MySQL运行在Ubuntu18.04上需要确保MySQL兼容容Ghost-CLI

# 进入数据库管理
sudo mysql

# 执行下列语句进行修改数据库密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

# 然后退出mysql
quit

# 重新登陆你的Ubuntu账号
su - <user>

安装Node.js

# 添加 Nodejs 10 源
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash
 
# 安装 Node.js
sudo apt-get install -y nodejs

国内的机器安装会特别慢,我10.x的没有安装成功,就装的8.x,上面的diamagnetic替换个数字就行了。

设置Node.js镜像源

npm config set registry https://registry.npm.taobao.org #npm镜像替换为淘宝npm节点
npm config get registry #配置后可通过下面方式来验证是否成功

安装Ghost-CLI

# 安装Ghost脚手架
sudo npm install ghost-cli@latest -g

创建网站目录:

# 创建ghost文件夹的网站目录,这个名字可以自己随便定义
sudo mkdir -p /var/www/ghost
 
# 使文件夹拥有权限,<user>是当前用户名
# 例如当前用户名是ubuntu,那么应该是:sudo chown ubuntu:ubuntu /var/www/ghost
sudo chown <user>:<user> /var/www/ghost
 
# 设置读写权限
sudo chmod 775 /var/www/ghost
 
# 定位
cd /var/www/ghost
 
# 进行Ghost博客平台安装
ghost install

选项配置讲解

✔ Checking system Node.js version
✔ Checking logged in user
✔ Checking current folder permissions
ℹ Checking operating system compatibility [skipped]
✔ Checking for a MySQL installation
✔ Checking memory availability
✔ Checking for latest Ghost version
✔ Setting up install directory
✔ Downloading and installing Ghost v1.24.8
✔ Finishing install process
#博客展示地址,格式:`http(s):(www.)example.com`,支持ip地址,记得加http://。
? Enter your blog URL: (http://localhost:2368)
#数据库主机地址,回车默认是`localhost`
? Enter your MySQL hostname: (localhost)
#数据库用户名/密码,上面安装的数据库用户名默认是`root`,密码是自己设置的。
? Enter your MySQL username: root
? Enter your MySQL password: [input is hidden]
#输入要创建的数据库的名称,回车直接使用默认的
? Enter your Ghost database name:
✔ Configuring Ghost
✔ Setting up instance
Running sudo command: chown -R ghost:ghost /var/www/ghost/content
✔ Setting up "ghost" system user
#回车确认自动创建 MySQL 用户
? Do you wish to set up "ghost" mysql user? (Y/n)
✔ Setting up "ghost" mysql user
#直接回车确定自动设置 nginx
? Do you wish to set up Nginx? (Y/n)
Nginx is not installed. Skipping Nginx setup.
ℹ Setting up Nginx [skipped]
Task ssl depends on the 'nginx' stage, which was skipped.
ℹ Setting up SSL [skipped]
#直接回车确实自动设置系统服务
? Do you wish to set up Systemd? (Y/n)
? Do you want to start Ghost? (Y/n)

完成

好了,现在访问你的域名/IP就可以看到你的博客了,登陆后台开始修改你的博客吧

#博客后台
http://<你的ip>/ghost

修改配置

在 /var/www/ghost/ 文件夹下面有一个 config.production.json 文件,这文件是对 ghost 的一些配置。

装这个折腾了我两天,大部分教程都比较老旧了。

后续可能还有SSL或者更换主题的教程

【2019.11.15】更新

升级3.0必须先升级脚手架(ghost-cli),不然会报错。这一步需要root用户操作

sudo npm install ghost-cli@latest -g

然后切换到ghost用户

ghost install

再经过相当漫长的等待之后就可以了


参考文章

[华为云]手工搭建ghost博客
[糖醋陈皮的博客]糖醋陈皮的博客
[淮城一只猫]Ghost Blog安装笔记

知识共享许可协议
本站作品除特殊声明外均采用 CC BY-NC-SA 4.0进行许可。转载请注明出处!