玩转 PAI:Ghost 博客搭建

  • 2019 年 12 月 20 日
  • 筆記

本文基于 PAI 搭建博客。

PAI 购买页:https://cloud.tencent.com/solution/pai

购买完后需等待几分钟 PAI 的安装。通过 https://域名:5523 访问成功后,说明 PAI 安装结束。

远程登陆到 PAI

ssh root@域名或IP

配置 node.js

PAI 中已经安装了 node.js,可以用如下命令进行查看:

node -v

如果显示“-bash: node: 未找到命令”,执行:

echo "export PATH=/usr/local/node/bin:$PATH" >> ~/.bashrc  source ~/.bashrc

安装 mysql

yum install mariadb-server mariadb -y    systemctl start mariadb

配置:

mysql_secure_installation

回车后,以下都选 y

Set root password? [Y/n]   # 设置root密码,需输入密码    anonymous users? [Y/n]    # 删除匿名用户    Disallow root login remotely? [Y/n]   # 禁止root用户远程登录    Remove test database and access to it? [Y/n]   # 删除默认的 test 数据库    Reload privilege tables now? [Y/n]   # 刷新授权表使修改生效

设置 mysql 编码:

vim /etc/my.cnf

添加内容:

[client]    default-character-set=utf8    [mysql]    default-character-set=utf8    [mysqld]    character-set-server=utf8    collation-server=utf8_general_ci

重启 mysql:

systemctl restart mariadb

新建一个数据库:

mysql -u root -p   # 输入设置好的密码    create database ghost;    # 创建ghost数据库    create user ghost@localhost identified by '123456';     # 新建一个用户ghost,密码为123456,这里自己设置    grant all privileges on  *.* to 'ghost'@'localhost';    flush privileges; # 重新读取权限表中的数据到内存,不用重启mysql就可以让权限生效    exit

配置 nginx

PAI 中的 nginx 默认监听 3000 端口,修改为 2368

sed -i 's#3000#2368#g' /etc/nginx/conf.d/default.conf  systemctl restart nginx.service

安装 ghost

mkdir /var/www    cd /var/www    wget https://ghost.org/zip/ghost-latest.zip    unzip -d /var/www/ghost /var/www/ghost-latest.zip    cd ghost    npm install --production --unsafe-perm=true --allow-root   # 大概十几分钟

将默认使用的 dev 开发模式修改为 prod 生产模式:

sed -i "s#development#production#g" core/index.js  sed -i "s#development#production#g" core/server/config/index.js

修改数据库配置:

vim core/server/config/env/config.production.json

修改:

{      "database": {          "client": "mysql",          "connection": {              "host"     : "127.0.0.1",              "user"     : "ghost",              "password" : "123456",              "database" : "ghost"          }      },      "paths": {          "contentPath": "content/"      },      "logging": {          "level": "info",          "rotation": {              "enabled": true          },          "transports": ["file", "stdout"]      }  }

修改 url:

vim core/server/config/defaults.json
{      "url": "http://你的域名",      "server": {          "host": "127.0.0.1",          "port": 3000    # PAI 中的 nginx 默认监听 3000 端口      },      "updateCheck": {          "url": "https://updates.ghost.org",

启动 ghost 博客:

npm run start --production  

可能会报错:

ERROR Please run knex-migrator init

解决:

npm install -g knex-migrator --unsafe-perm=true --allow-root  knex-migrator init  npm run start --production 

访问

在浏览器中输入域名可访问:

图片.png

在浏览器中输入“域名/ghost” 可进入后台管理页面:

图片.png

参考

https://ghost.org/docs/install/ubuntu/

https://www.jianshu.com/p/77953f7f076b