第一篇文章就从Ghost踩坑说起吧

625 阅读2分钟

这次踩坑可真是费了不少事 CentOS 7.x + Mysql 8.0.11 + Ghost

#Ghost安装:

###安装配置mysql ==使用版本为8.0.11==

> rpm -Uvh https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm
> yum --enablerepo=mysql80-community install mysql-community-server

安装完成后,直接运行mysql 千万不要使用mysql initialize,会导致后面出一系列的权限问题

> systemctl start mysqld

此处记得在/var/log/mysqld.log记录临时密码,如我当时的临时密码为:olCqiMw%s8O0

之后更新Mysql的Root密码:

> ALTER USER "root"@"localhost" IDENTIFIED WITH mysql_native_password  BY "你的新密码";

默认的新密码规范贼复杂,需要8位以上,有数字字母大小写才可以,如果需要简单密码,可以在更新密码后使用下面命令进行调整

> show variables like 'validate_password%';
> set global validate_password.policy=0;
> set global validate_password.length=6;

同时,因为Mysql现在的登录加密方式改掉了,如果使用默认的加密方式会导致Ghost无法登录,所以需要修改/etc/my.cnf,添加:

default_authentication_plugin=mysql_native_password
character-set-server=utf8mb4

之后重启mysql,登录mysql查看你的密码加密策略:

mysql> use mysql;
mysql> select user, host, plugin, authentication_string from user;

###安装nginx

> yum install nginx

之后直接执行

> nginx

跑起nginx的服务 ###nginx配置:

> vim /etc/nginx/nginx.conf

像我这边,添加如下进行proxy跳转:

server {
        listen 80;
        server_name owops.com www.owops.com;
        location / {
                proxy_pass http://localhost:2368;
        }
    }

修改后直接nginx -s reload即可 #使用ghost-cli安装Ghost: 使用nodejs 8.11.1进行安装,node的安装方法太多,就不写了

>npm install ghost-cli

安装好之后,创建用户与赋予用户root权限

> useradd www
> usermod -aG wheel www

之后创建ghost的文件目录,我是放在了home目录下

> mkdir /home/ghost

之后使用ghost命令进行安装与执行(命令无法在root用户下执行,所以需要su - www 来进行用户切换)

> ghost install
> ghost start

如果中间出现问题,可以重新执行

ghost setup

进行初始化,不用每次都重新install,刚开始不知道,执行了无数次install……慢的不行

在安装过程中,碰到了很多问题,如: user权限问题,导致各种无法执行命令,这种情况只要执行

> systemctl start ghost_localhost 

然后选择当前用户即可

折腾了一下午,终于把Ghost跑起来了~美滋滋