玩转 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
访问
在浏览器中输入域名可访问:
在浏览器中输入“域名/ghost” 可进入后台管理页面:
参考
https://ghost.org/docs/install/ubuntu/
https://www.jianshu.com/p/77953f7f076b