须知:
- 系统:CentOS 7.4 64位 ssh秘钥登录 (秘钥要妥善保管,他是你登录服务器的凭证)
- 通过腾讯云创建ssh秘钥,PuTTY使用ssh秘钥连接服务器时,需要转换成PuTTY所需格式。
- PuTTY转换格式可以查询这边文章 https://blog.youkuaiyun.com/gsls200808/article/details/49778959
- node.JS: 6.14.3
- 按i编辑,按Esc结束编辑,:x 保存修改并退出,:q! 强制退出,放弃修改
- 主要参考文章:https://www.bug2048.com/ghost20180102/
- 根据上面博客文章搭建环境会遇到以下问题:
- MySql数据库安装失败;
- 缺少用户切换指导,会掉入一些权限不足的坑;
- 本文是在其基础上进行了修改。
前期准备:
yum update #更新yum源
yum groupinstall "Development Tools" #安装开发工具包
yum install wget #安装wget下载工具
安装Node.js 6.x LTS:
curl -sL https://rpm.nodesource.com/setup_6.x | bash -
yum install nodejs
安装MySql:
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum -y install mysql-server
service mysqld start # 启动Mysql
chkconfig mysqld on # 设置开机启动Mysql
配置Mysql:
mysql_secure_installation
Set root password? [Y/n] # 设置root密码
Remove 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的编码:
vi /etc/my.cnf
写入以下内容:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
重启MySql
service mysqld restart
新建一个数据库,用来存放博客的数据(进入mysql执行命令,命令以 “;” 结尾,安装ghost需要以下信息)
mysql -u root -p # 输入设置好的密码
create database ghost; # 创建ghost数据库
grant all privileges on ghost.* to 'ghost'@'%' identified by '123456'; # 新建一个用户ghost,密码为123456,随意更改啦
flush privileges; # 重新读取权限表中的数据到内存,不用重启mysql就可以让权限生效
安装Nginx
vi /etc/yum.repos.d/nginx.repo
写入以下内容(记得检查内容是否和下面一致)
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
执行以下指令
yum install nginx -y # 安装Nginx
service nginx start # 启动Nginx
chkconfig nginx on # 设置开机启动Nginx
在浏览器中输入服务器ip,看到 Welcome to nginx! 则安装成功。
配置Nginx
配置Nginx通过域名进行访问
在/etc/nginx/conf.d目录下创建一个配置文件ghost.conf
vi /etc/nginx/conf.d/ghost.conf
写入以下内容
server {
listen 80;
server_name example.com; #将 example.com 改为你的域名或ip。
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:2368;
}
}
保存退出,重启nginx
service nginx restart
安装Ghost-CLI
npm i -g ghost-cli
添加 ghost 运行用户和创建安装目录
假设你的博客要放在/var/www/ghost目录,那么我们就创建一个并赋予权限
adduser ghost
mkdir -p /var/www/ghost #不存在指定路径的文件夹,则创建该文件夹
chown ghost /var/www/ghost
安装 Ghost
默认以SQLite3为数据库安装模式,我们安装Mysql模式
cd /var/www/ghost
su ghost
ghost install local --db=mysql
修改配置
会进行询问,初始化Ghost,对相关配置进行对应填写即可
? Enter your MySQL hostname: localhost
? Enter your MySQL username: ghost
? Enter your MySQL password: [hidden]
? Enter your Ghost database name: ghost
启动 Ghost
ghost start #启动
ghost restart #重启
ghost stop #停止
开机自动启动Ghost
切换回root用户,因为ghost用户没有对以下文件的编辑权限:
vi /etc/rc.d/rc.local #打开rc.local
写入以下内容
cd /var/www/ghost #你ghost安放的路径
ghost start #启动
重启服务器,就可以访问ghost了。
配置好的新博客地址为:http://zcbooks.cn,已经能访问了;
加上www:http://www.zcbooks.cn/进行访问,发现会跳转到Welcome to nginx!那是因为没有进行配置,怎么配置上文已经提及,就自己动手设置吧!
等我学会配置ghost后,我会再发一篇配置ghost的文章!