搭建Ghost博客详细教程之Ghost安装与部署

网上大多数的教程都是安装Ghost0.7.4的,相对来说比较老了,安装起来也比较复杂了,Ghost1.0之后Ghost自带了cli安装工具,相较于以前方便很多。

前期准备

yum update #更新yum源

yum groupinstall "Development Tools" #安装开发工具包

yum install wget #安装wget下载工具

安装Node.js 6.x LTS

官方建议6.x,我装的时候没注意,直接最新的8.x了,不过感觉问题也不是很大,最好还是安装官方的来吧

curl -sL https://rpm.nodesource.com/setup_6.x | bash -

yum install nodejs

验证是否安装配置成功: node -v

安装Mysql

CentOS7默认数据库是mariadb ,但是CentOS7的yum源中默认好像是没有mysql的。所以得自己下载源安装了。

wget http://repo.mysql.com/mysql57-community-

release-el7-8.noarch.rpm

rpm -ivh mysql57-community-release-el7-8.noarch.rpm

yum -y install mysql-server

安装完之后,密码为随机密码,所以需要重置密码,输入下面指令查看随机密码

grep "password" /var/log/mysqld.log

然后输入下面指令进入MySql

mysql -u root -p 密码

接下来重置密码(为了安全密码,必须包含 数字字母符号)

alter user 'root'@'localhost' identified by '你的密码';

为了更好的体验和安全,还可以进行一些常规设置。

chkconfig mysqld on # 设置开机启动Mysql

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 -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

保存退出。

(按i编辑,按Esc结束编辑,:x 保存修改并退出,:q! 强制退出,放弃修改)

继续执行以下指令:

yum install nginx -y # 安装Nginx

service nginx start # 动Nginx

chkconfig nginx on # 设置开机启动Nginx

这样Nginx就安装成功了,在浏览器中输入你的VPS的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 /var/www/ghost

chown ghost /var/www/ghost

安装 Ghost

默认以SQLite3为数据库安装模式,我们安装Mysql模式

cd /var/www/ghost

ghost install local --db=mysql

修改相应配置:

config.development.json 文件,修改自己相关配置即可

启动 Ghost

ghost start #启动

ghost restart #重启

ghost stop #停止

这里会让你填写mysql的地址、用户名、密码、数据库名称等,填写你之前设置的就可以了

开机自动启动Ghost

可以直接在==rc.local==中设置

vi /etc/rc.d/rc.local #打开rc.local

写入以下内容:

cd /var/www/ghost #你ghost安放的路径

ghost start #启动

保存退出后,可以试下重启下服务器。(之前的Mysql,Nginx都已经设置开机自启动)

这样如果不出意外的话,你的博客应该顺利起来了。

原文发布于微信公众号 - Bug生活2048(BugLife2048)

原文发表时间:2018-02-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java帮帮-微信公众号-技术文章全总结

Nginx+Tomcat关于Session的管理【面试+工作】

解决办法安装epel:EPEL是企业版 Linux 附加软件包的简称,EPEL是一个由Fedora特别兴趣小组创建、维护并管理的,针对 红帽企业版 Linux(...

21420
来自专栏Petrichor的专栏

ubuntu: 控制&查看 进程

你也可以使用grep来对输出做管道,这样可以不需要使用其它命令就能搜索出某个进程。

50940
来自专栏张善友的专栏

超实用的8个Linux命令行性能监测工具

对每个系统/网络管理员来说,每天监测Linux系统性能是一项非常艰巨的任务。在IT业从事5年的Linux系统管理员后,我发现监控和保持系统正常运行真不是件容易的...

24250
来自专栏腾讯大数据的专栏

Ta 腾讯分析添加热点图

1、打开TA:http://v2.ta.qq.com/ QQ号登录 2、点选站点列表 ? 3、选择新增站点,输入域名点击添加即可。 ? 4、点选监控检测→页面热...

51480
来自专栏北京马哥教育

40张步骤截图教你用腾讯云服务器配置LNMP环境并安装wordpress

? 作者:liuxinig 来源: http://www.cnblogs.com/liuxinig/p/5928361.html 本文有点长,原因是每一步都有...

1.2K80
来自专栏LanceToBigData

KVM+Qemu+Libvirt实战

上一篇的文章是为了给这一篇文件提供理论的基础,在这篇文章中我将带大家一起来实现在linux中虚拟出ubuntu的server版来 我们需要用KVM+Qemu+L...

50870
来自专栏云计算

在Heroku上部署Node.js

今天,我们将演示如何在Heroku上部署Node.js应用。Heroku官方提供免费帐户使用,在此之上,我们最多可以托管5个应用程序。但如果你有大量需求的话,就...

46380
来自专栏V站

WIN7系统如何在本地(局域网)配置PHP环境?

安装完成后,点击控制面板->管理工具->Internet Information Services (IIS)管理器(注意不是那个什么6.0的)

47470
来自专栏腾讯云容器服务团队的专栏

使用腾讯云容器服务搭建 ELK 日志系统

目前主流的分布式日志系统有ELK,flume,fluentd,splunk等,本文利用腾讯云容器服务搭建ELK系统收集nginx的访问日志 ,搭建过程中共搭建4...

2.4K30
来自专栏吴柯的运维笔记

memcached数据库环境部署及应用

前言: 三大传统数据库:mysql,sqlserver,oracle 【sql数据库-存硬盘-慢】 新兴数据库:mogodb,memcached,redis ...

28450

扫码关注云+社区

领取腾讯云代金券