最新2020,Centos 7.6腾讯云搭建最新Ghost详细教程

前言:花了好长时间折腾了好久,很多的教程都有点旧,有很多出错的地方,本篇参照了史上最详细的阿里云搭建Ghost教程,阿里云搭建Ghost博客官方教程,有很多更改的地方。

搭建ghost,要有一丢丢linux基础,服务器的话也要知道一丢丢,没有it基础就算了


some tips:

1.提前提醒一下文章中需要用到单引号的命令,全都要用英文引号,csdn复制的都是中文单引号
2.有些在user用户下执行不了的命令在命令前面加 sudo ,需要输入密码就输入user的密码


开始搭建:
进入崭新的服务器

更新系统源

  • 首先更新yum

yum update -y
yum install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel open openssl-devel -y

  • 通过rpm包管理器添加nginx源:

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm


安装nginx

yum -y install nginx

  • 设置Nginx服务器自动启动

systemctl enable nginx.service

  • 启动Nginx并查看Nginx服务状态。

systemctl start nginx.service
systemctl status nginx.service

本地打开浏览器,输入我们的公网IP就可以进入到Nginx的页面了


安装Node.js。

创建nodejs安装目录

mkdir /opt/software
cd /opt/software

下载node安装包

wget https://cdn.npm.taobao.org/dist/node/v10.13.0/node-v10.13.0-linux-x64.tar.gz

解压安装包

tar -xvf node-v10.13.0-linux-x64.tar.gz

进入目录并安装相关插件

cd node-v10.13.0-linux-x64

进行默认配置并编译 (编译很久半个钟以上)

./configure
make

开始安装

sudo make install

安装后运行node -v和npm -v命令检查Node.js的版本。

node -v
npm -v

安装进程管理器pm2以便控制ghost (这个进程管理器可以保持应用程序一直处于运行状态)

npm install pm2 -g


mysql部分

  • 安装mysql

1.下载mysql的repo源

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

2.安装mysql57-community-release-el7-11.noarch.rpm包

sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm

3.列出所有的版本

yum repolist all | grep mysql

4.查看可安装的版本

yum repolist enabled | grep mysql

5.开始安装mysql

yum install mysql-community-server

  • 启动msyql

sudo service mysqld start
sudo systemctl start mysqld.service
sudo service mysqld status
sudo systemctl status mysqld.service

这4条命令都打一下(防止mysql的版本不同)

1.获取安装时的临时密码

grep ‘temporary password’ /var/log/mysqld.log

在这里插入图片描述

2. 登录mysql(然后输入密码刚刚查看的临时密码)

mysql -u root -p
我这里的话密码就输入 Uu:uwhFB18=M

修改密码的级别为低,密码长度最短为4位

set global validate_password_policy=LOW;
set global validate_password_length=4;

修改root密码为root

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root’;

  • 创建user用户,密码为root

CREATE USER ‘user’@‘localhost’ IDENTIFIED BY ‘root’;
GRANT USAGE ON * . * TO ‘user’@‘localhost’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;

== 这里的 * . * 中间要去掉空格==还有注意中文英文的符号,linux打不进去的
赋予权限给user

grant all privileges on * . * to user@localhost identified by ‘root’;
flush privileges;

退出mysql

exit

  • 加强 MySQL 安全设置

mysql_secure_installation

根据下面的输入

You already have a root password set, so you can safely answer 'n'.
//是否修改 root 账户的密码?前面设置过 root 账户的密码了,如果不打算修改密码的话,输入 'n'
Remove anonymous users? [Y/n] y  
//是否删除匿名用户?
Disallow root login remotely? [Y/n] y  
//是否禁止 root 账户远程登录?
Remove test database and access to it? [Y/n] y  
//是否删除 MySQL 默认创建的 test 数据库,并删除所有对 test 数据库的权限设置?
Reload privilege tables now? [Y/n] y  
//是否重新加载权限表?
  • 修改mysql默认字符集为utf8mb4

解释一下,为什么不是utf8,而是utf8mb4。因为现在手机端可以添加一些emoji表情符,为了支持emoji表情符,须将字符集设置成utf8mb4,它是utf8的超集

进入mysql(前面有详细操作),查看mysql默认字符集

SHOW VARIABLES WHERE Variable_name LIKE ‘character_set_%’ OR Variable_name LIKE ‘collation%’;

修改my.cnf

vi /etc/my.cnf

增加下面内容

[mysqld]
character-set-client-handshake = FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
[client]
default-character-set=utf8mb4
[mysql]
default-character-set = utf8mb4

重启mysql

sudo service mysqld restart

  • 创建ghost数据库

登录mysql,创建ghost数据库 (ghost要用到) 然后退出mysql

CREATE SCHEMA ‘ghost’ DEFAULT CHARACTER SET utf8mb4 ;


ghost部分

ghost安装

1.创建Ghost 安装目录。

mkdir -p /var/www/ghost

2.切换到user用户

su user

将ghost交给user并赋予权限

sudo chown user:user /var/www/ghost
sudo chmod 775 /var/www/ghost

3.进入Ghost安装目录,下载最新版本的Ghost安装包

cd /var/www/ghost
curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip

4.解压Ghost安装包

yum install unzip -y
unzip ghost.zip

5.使用npm安装Ghost。

npm install -production

添加config.js

vi config.js

var path =require('path'),
config;
config ={
production: {
        url: 'http://xxx.xxx.xxx.xxx',
        mail: {},
        database: {
                client: 'mysql',
                connection:{
            host    : '127.0.0.1',
            user    : 'user',
            password: 'root',
            database: 'ghost',
            charset: 'utf8mb4'
    },
    debug:false
    },

    server:{
            host: '127.0.0.1',
            port: '2368'
    }
},

修改ghost配置

1.进入到ghost配置文件目录下

cd /var/www/ghost/core/server/config/env
ls -l

2.我们需要修改文件的是config.production.json和config.development.json

  • 先修改config.production.json

vim config.production.json

需要修改的地方有url和database
url改为服务器的公网ip地址或者你的域名
database根据上面mysql的配置(host不改),和我上面一样的话就不用改

{
    "url":"http://xxx.xxx.xxx",
    "database": {
        "client": "mysql",
        "connection": {
            "host"     : "127.0.0.1",
            "user"     : "user",
            "password" : "root",
            "database" : "ghost",
            "charset"  : "utf8mb4"
        }
    },
    "paths": {
        "contentPath": "content/"
    },
    "logging": {
        "level": "info",
        "rotation": {
            "enabled": true
        },
        "transports": ["file", "stdout"]
    }
}
  • 再修改config.development.json【和上面修改的大致相同】

vim config.development.json

{
    "url": "http://"xxx.xxx.xxx.xxx",
    "database": {
        "client": "mysql",
        "connection": {
            "host"     : "127.0.0.1",
            "user"     : "user",
            "password" : "root",
            "database" : "ghost",
        "charset"  :"utf8mb4"
        },
        "debug": false
    },
    "paths": {
        "contentPath": "content/"
    },
    "privacy": {
        "useRpcPing": false,
        "useUpdateCheck": true
    },
    "useMinFiles": false,
    "caching": {
        "theme": {
            "maxAge": 0
        },
        "admin": {
            "maxAge": 0
        }
    }
}

6.启动ghost,看看是否安装成功,然后Ctrl+c 退出ghost(还没搭建好)

npm start

7.检验配置是否成功
进入mysql,使用ghost数据库,查看是否有新的表

mysql -u root -p
use ghost;
show tables;

最新2020,Centos 7.6腾讯云搭建最新Ghost详细教程_第1张图片
有表的话说明成功了,没有的话再检查修改一下配置文件,然后重复检验操作,直到生成这些表


先将nginx的默认配置文件修改掉

mv default.conf default.conf.bak

配置Nginx反向代理

  • 添加ghost.conf

cd /etc/nginx/conf.d
vim ghost.conf

  • 复制下面的内容

只需要将下面的 example.com 改为你的域名或ip。

server {
    listen 80 default_server;
    server_name example.com;
    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass         http://127.0.0.1:2368;
    }
}

然后保存(ESC,然后输入:wq 回车保存)

7.pm2管理ghost

NODE_ENV=production pm2 start index.js --name “ghost”

8.开启、停止、重启ghost的命令

pm2 start ghost
pm2 stop ghost
pm2 restart ghost

重启nginx

sudo systemctl restart nginx.service

浏览器输入ip地址或者域名就可以进入ghost了

阅读完ghost的介绍后就进入编辑了

ip地址或者域名后面添加/ghost (例如:www.baidu.com/ghost)
就可以进到博客后台管理界面了。

你可能感兴趣的:(博客搭建,ghost)