Debian 8.X搭建Lnmp+ Ghost 1.x 教程

其实类似的教程挺多的,尤其是Ghost 1.X版本之前的,真的不要太多,写这个教程也只是自己参照官网教程和烧饼博客之后,对自己的搭建经历作一个小小的回顾。因为本人还要折腾点别的小玩意,所以不仅要将Ghost博客搭建起来,还要将PHP环境等也一同搭建,便于日后的各种折腾。好了,废话不多说,开始啰嗦之旅吧。

  • 首先搭建Lnmp,可用的环境包有很多,比如军哥的Lnmp,还有最近比较火的OneinStack等等,个人比较喜欢OneinStack,觉得功能上比前者要丰富。具体的搭建步骤,请参考官网,一路配置下来估计也要半个小时左右,成功率100%(反正我折腾了这么多次,从来没有失败过),搭建好之后,建议先做个快照!
    2017-8-19补充:还是把Oneinstack的搭建步骤照抄一下吧,给看的亲们省点时间233
    1
    2
    3
    4
    5
    6
    7
    8
    9
    yum -y install wget screen curl python #for CentOS/Redhat
    # apt-get -y install wget screen curl python #for Debian/Ubuntu
    wget http://aliyun-oss.linuxeye.com/oneinstack-full.tar.gz #阿里云经典网络下载
    wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz #包含源码,国内外均可下载
    wget http://mirrors.linuxeye.com/oneinstack.tar.gz #不包含源码,建议仅国外主机下载
    tar xzf oneinstack-full.tar.gz
    cd oneinstack #如果需要修改目录(安装、数据存储、Nginx日志),请修改options.conf文件
    screen -S oneinstack #如果网路出现中断,可以执行命令`screen -R oneinstack`重新连接安装窗口
    ./install.sh #注:请勿sh install.sh或者bash install.sh这样执行

install_oneinstack

  • 开始搭建Ghost(过程可参照官网或烧饼博客)
    1. 更新系统并安装必要软件
      1
      2
      3
      4
      apt-get update 
      apt-get upgrade
      apt-get -t stretch-backports update
      apt-get -t stretch-backports upgrade
    2. 安装 Node.js 6.x LTS
      方法一:
      1
      2
      curl -sL https://deb.nodesource.com/setup_6.x | bash -  
      apt-get install nodejs
      方法二:
      1
      2
      3
      4
      5
      6
      7
      8
      国外下载地址:
      wget https://nodejs.org/download/release/v6.9.5/node-v6.9.5.tar.gz
      国内下载地址:
      wget https://npm.taobao.org/mirrors/node/v6.9.5/node-v6.9.5.tar.gz
      tar zxvf node-v6.9.5.tar.gz
      cd node-v6.9.5
      ./configure
      make && make install

2017-10-22补充,最新版的Ghost已经不支持Node V6.5版本了,所以嘛……得更新233

推荐使用方法二,成功率高,如果使用方法一没有成功的话,还可以再使用方法二,成功与否,可以使用
node -v,如果能显示版本就说明Node.js搭建成功了
4. 配置Nginx(因为前面已搭建好Lnmp,所以这里直接配置站点文件即可)
先配置站点文件

1
vi /usr/local/nginx/conf/vhost/ghost.conf

然后写入以下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  server {  
listen 80;
listen 443;
server_name 1984n.win; #记得改成自己的域名
ssl on;
ssl_certificate /usr/local/nginx/conf/1984.crt; #SSL证书路径
ssl_certificate_key /usr/local/nginx/conf/1984.key; #SSL证书路径

location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:2368;
}
}

保存好之后,记得重启一下Nginx。
5. 添加 ghost 运行用户(按照官方的说明,需要另建一个账户,名称随便,这里以ghost作为用户名来介绍。首先使用adduser而不是useradd命令添加用户,后者只能添加一个简单的无密码无执行权限的用户,前者是后者的加强版命令

1
adduser ghost

然后系统会提示你输入两次密码,其他的一律回车即可。接着给予ghost用户sudo权限,这样这货就可以执行好多操作了。

1
usermod -aG sudo ghost
  1. 安装 Ghost-CLI 和 Ghost 1.x
    Ghost 从 1.0 开始,已经不需要其他第三方的软件来保持后台运行、更新、安装等操作,因为他们出了个命令行软件Ghost-CLI有了这货,我们再也不需要安装pm2来保持后台运行,也不需要用ghost-upgrade来升级,因为他基本已经全部带了以前的功能。
    首先我们需要切换到ghost这个用户
    1
    su - ghost
    输入密码回车,然后直接用 npm 安装Ghost-CLI
    1
    sudo npm i -g ghost-cli
    假设你的博客要放在/var/www/ghost目录,那么我们就创建一个并赋予权限
    1
    2
    sudo mkdir /var/www/ghost
    sudo chown ghost:ghost /var/www/ghost
    进入这个目录就可以开始安装 Ghost 了
    1
    2
    cd /var/www/ghost
    ghost install
    按照提示输入即可,如果要使用sqlite3数据库的,可以将ghost install改为:
    1
    ghost install local --db=sqlite3
    然后修改/var/www/ghost/config.development.json文件,修改自己的域名即可,保存好之后,再使用命令:ghost stop && ghost estart命令强行关闭再启动(注意不是重启),看是否正确,正确的输出信息是类似这样的:
    1
    2
    3
    4
    5
    6
    7
    ghost@sb-blog:/var/www/ghost$ ghost start
    ✔ Validating config
    ✔ Starting Ghost
    You can access your blog at https://1984n.win/

    Ghost uses direct mail by default
    To set up an alternative email method read our docs at https://docs.ghost.org/docs/mail-config
    没问题以后,就可以把这个文件改成正式环境的文件了:
    1
    mv config.development.json config.production.json
    然后再使用命令:ghost stop && ghost estart命令强行关闭再启动。

注意:

另外千万不要在 root 用户下执行 ghost 相关命令,否则 /var/www/ghost/.ghostpid这个文件的权限就变成root用户的了,导致后续会遇到Message: 'EACCES: permission denied, open '/var/www/ghost/.ghostpid''

一切正常的话,就可以开始折腾Ghost了。

本文中搭建Ghost的部分步骤来自烧饼博客:https://sb.sb/debian-ubuntu-install-upgrade-ghost/ ,还有Ghost官网教程:https://docs.ghost.org/docs/install ,写完看电影咯。

2017-8-19补充:话说现在新版的Ghost编辑器还是蛮好用的,连小工具都有了,这在以前的0.7.4版本可是没有的,这也极大方便像我这种非代码控,点点即可上传图片、链接等等。

ghost_blog02

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信