Ghost Blog 原版安装过程

本文写作于 2019年5月29日 距离今天已有  
  天,请注意文章时效性

其实官网介绍 Ghost Blog 的安装过程已经够详细了,我在这里也是面向小白讲的更清楚一点,然后有一两个坑提一下
官网的安装教程可以在这里看到: https://docs.ghost.org/setup/
官网推荐的操作系统是 Ubuntu,那么服务器系统也就最好用 Ubuntu,其实这一点倒是没啥问题,Ubuntu 的兼容性也挺不错的,毕竟我之前用 CentOS 切过来也没啥问题。
开始之前还有一点要注意,如果你现在是一台新装过系统的服务器,又想装宝塔这种管理工具,请先安装,不然安装完Ghost后会无法安装。

512M 内存的机器不要安装!!!1G 内存起步!!!

具体步骤

  1. 由于原版安装 Ghost 的指令不可以由 root 用户完成,所以首先要新建一个账号:

     adduser <user>
    

    这里将 (包括尖括号)替换成你想起的名字。不过注意不可以将“ghost”作为新账户的名称,这会与后面的 Ghost-CLI 冲突
    之后会让你输入两遍密码,然后会让你输入全名. 号码等信息,这些都不用管,直接回车就行。直到它显示

     Is the information correct? [Y/n]
    

    输入y,回车便完成新用户的创建

  2. 提升刚才新用户的操作权限,默认新用户是无法执行 sudo 命令的,所以通过下面这句提升权限。注意替换用户名。

     usermod -aG sudo <user>
    
  3. 登陆刚才创建的用户

     su <user>
    
  4. 更新系统的软件包列表和已安装的软件包

     sudo apt-get update
     sudo apt-get upgrade
    

    第一次执行时会让你输入密码
    出现类似下述界面我个人建议选第二项

  5. 安装Nginx

     sudo apt-get install nginx
    

    中间有个确认,选择y

  6. 修改防火墙策略,允许 Nginx 的流量

     sudo ufw allow ‘Nginx Full’
    
  7. 安装 MySQL

     sudo apt-get install mysql-server
    

    出现确认选择y

  8. 配置 MySQL
    首先进入 MySQL 控制台

     sudo mysql
    

    设置数据库密码,密码要记清楚了

     ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
    

    这里要把 password 替换成你想的密码,但是要保留单引号。用户名这里不要改成你刚才创建的用户名,就保留 root
    然后退出 MySQL 控制台

     quit
    
  9. 这里官网教程中要我们再次登陆刚才创建的用户,不过我觉得好像没必要,不过还是操作一下

     su <user>
    

    要输入一下密码

  10. 安装 Node.js

    添加仓库

    curl -sL <https://deb.nodesource.com/setup_8.x> | sudo -E bash
    

    注意这里就用官网提供的这个地址,保证是受 Ghost 支持的版本
    安装

    sudo apt-get install -y nodejs
    

    这一步可能会比较慢,因为上面为了保证版本内容相同,我们没有使用国内镜像

  11. 安装 Ghost-CLI,它可以让我们执行 ghost 相关的命令,比如安装卸载这种

    sudo npm install ghost-cli@latest -g
    
  12. 为 Ghost 创建目录,这里你可以自己定,也可以像我一样按照官方的来
    首先创建目录

    sudo mkdir -p /var/www/ghost
    

    然后给权限,这里的 替换为刚刚新创建的用户名

    sudo chown <user>:<user> /var/www/ghost
    
  13. 定位到刚刚创建的文件夹中

    cd /var/www/ghost
    
  14. 执行安装命令

    ghost install
    

    这里有可能会卡在 Downloading and installing Ghost 这里,如果是卡在Downloading或者 Fetching packages,那就是服务器网不好,过一会他会自己重试;如果卡在 Building fresh packages 长达二十分钟多,那就是安装卡住了,需要按Ctrl+C退出安装,然后执行

    ghost uninstall
    

    卸载,再重新安装一半就好了。万一这里这里卸载也报错,那就先返回到上一层目录

    cd ..
    

    然后删除 ghost 文件夹

    sudo rm -rf ghost
    

    然后从第12步重新安装
    如果安装正常进行的话,就会让你自定义一些信息。

    Enter your blog URL:
    

    这里如果你想弄https,就不要输入http:,直接输入域名就可以

    Enter your MySQL hostname: (localhost)
    

    这里直接回车

    Enter your MySQL username:
    

    输入 root,不要输入其他账号

    Enter your MySQL password:
    

    输入刚才设置的密码

    Enter your Ghost database name:
    

    直接回车,默认为ghost_prod

    Do you wish to set up “ghost” mysql user?
    

    yes

    Do you wish to set up Nginx?
    

    yes

    Do you wish to set up SSL?
    

    选择yes即代表使用https,推荐使用

    Enter your email (For SSL Certificate)
    

    输入一个能用的邮箱

    Do you wish to set up Systemd?
    

    yes

    Do you want to start Ghost?
    

    yes
    之后就能启动了

  15. 打开你的域名/ghost,便可以打开管理员页面进行进一步设置

后期维护

  1. 避免使用国内统计工具,尤其是腾讯统计,我在使用后会出现网页无法打开,服务器无法连接的奇怪问题(服务器用的 AWS Lightsail)。不嫌访问慢的话给域名套个 CloudFlare,也能看到访问数据。
  2. 注意检查升级,Ghost 除了使用 MySQL 的原因,还有一些其他的问题会导致内存占用过多的现象;以及其他的一些问题都需要通过获取新版本来解决。使用 ghost update 命令可以升级。内存占用实在太多的时候,重启 ghost 可以临时解决。
  3. 自己多看看 cli 里的功能,ghost help 命令可以查看有哪些功能,比较实用的就是 ghost doctor,出问题的时候可以检查问题。
  4. 注意使用服务器快照功能进行定期备份。Ghost 严格上来说并不是一个非常成熟的博客系统,问题还是比较多。虽然有备份功能,但即便文章内容的图片你用的图床,文章头图在恢复后还是需要重新添加,非常麻烦。