Ghost博客安装简明指南
前言
Ghost 是一套基于 Node.js 构建的开源博客平台(Open source blogging platform),具有易用的书写界面和体验,博客内容默认采用 Markdown 语法书写,目标是取代臃肿的 WordPress。
如果你受够了wordpress的臃肿,如果你苦于寻找简介的主题,想要享受写作的话,我十分推荐Ghost博客。
但是因为个人需求,我现在选择了wordpress
这里简单介绍一下如何快速安装Ghost博客。
安装环境
- centos7
- DigtalOcean VPS (只要有任意一台VPS即可
- Node 4.2.6 (官方指定最新LTS
- Nginx (内存占用低
- Ghost v0.7.4 full (zh) (中文支持
- mariadb
- 以下命令都是以root用户执行
安装准备
yum update
都懂的…………
安装Node
wget nodejs.org/dist/v4.2.6/node-v4.2.6.tar.gz
tar zxvf node-v4.2.6.tar.gz
cd node-v4.2.6
./configure
make && make install
通过node -v
检查版本可检测是否已成功安装
安装nginx
yum -y nginx #安装
service nginx start #启动服务
chkconfig nginx on #服务开机启动
安装成功后打开浏览器输入你的IP就能看到 Welcom to Nginx!
的字样
配置nginx
cd /etc/nginx/conf.d/
rm default.conf # 删除默认配置
vi ghost.conf
在 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
安装mariadb
ghost默认使用的是sqlite数据库,众所周知,sqlite数据库在应对较大的数据时比较乏力,所以这里我们安装mariadb
yum -y install mariadb mariadb-server
service mariadb start # 启动服务
chkconfig mariadb on # 开机启动
mysql_secure_installation # 配置mariadb
配置mariadb只要你最开始设置一下密码,其他默认就好
为了避免数据库存放的中文是乱码,我们还需要设置数据库的编码
vi /etc/my.cnf
写入以下内容
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
保存退出后,需要重启一下服务
service mariadb restart
当然最重要的,在安装好数据库之后,我们需要专门为其新建一个用户来存放数据。
mysql -u root -p # 输入设置好的密码
create database ghost; # 创建ghost数据库
grant all privileges on ghost.* to 'ghost'@'%' identified by 'password'; # 在password处改为你要设置的密码
flush privileges # 重新读取权限表中的数据到内存,不用重启mysql就可以让权限生效
exit
这样数据库就算是准备好了。
安装Ghost
接下来就是博客的主体程序了,首先进行安装
cd /var/www
wget http://dl.ghostchina.com/Ghost-0.7.4-zh-full.zip
unzip Ghost-0.7.4-zh-full.zip -d ghost
cd ghost
安装好后需要进行配置,ghost目录中有样例配置文件,我们 cp 一份进行更改
cp config.example.js config.js
vi config.js
查找 production 模式进行更改
production: {
url: 'http://nodekey.com', # 修改为你的域名或者IP,注意加上http://
mail: {},
database: {
client: 'mysql'
connection: {
host : '127.0.0.1',
user : 'ghost', # 数据库用户
password : 'password', # 数据库用户密码
database : 'ghost', # 数据库名称
charset : 'utf8'
},
server: {
host: '127.0.0.1',
port: '2368' # 2368是ghost的默认端口,若修改该端口记得在nginx中做相应改变
}
}
保存退出,执行命令
npm start --production
即在centos服务器上运行了ghost,打开浏览器输入你的ip或者域名,即可成功访问你的博客。打开http://your_ip/ghost 即可进入博客后台管理博客。按ctrl – c退出进程。
pm2后台管理博客
众所周知,当你在一个终端中运行一个进程时,你无法无时无刻都管理这这个进程,一旦你按 ctrl – c退出进程,你的博客也就自然无法访问了。这时候就需要一个后台进程管理应用,在这里我用的是pm2。
cd /var/www/ghost
npm install pm2 -g # 安装PM2
NODE_ENV=production pm2 start index.js --name "ghost"
pm2 startup centos
pm2 save
执行命令重启ghost
pm2 restart ghost
如果你的ghost有过非配置上的更改,你需要执行pm2 --update-env restart ghost
重启使其生效。
更换主题
Ghost更换主题还是比较方便的, cd /var/www/ghost/content/themes/
即可进入主题目录。
你可以通过git下载主题,ftp上传主题,再执行 pm2 --update-env restart ghost
更新环境。
最后进入 http://your_ip/ghost
更换一下就可以了。
在这里我十分推荐 ghostium
真正为写作和阅读而生的主题!!!
原生Ghost的一些缺陷
- markdown不支持TOC,不支持自动换行(就是说你必须手动加一个
才能换行 - 定制性不强,不易扩展,在样式上大多需要源码上的更改,当然对象是我这种不太懂前端的小白,对大佬来说还是很适合的。
- 过于简洁……(源自acmer对标签与目录的强烈需求)
- 在索引上表现不是很好