第一步 准备工作
首先到官方网站下载一个Ghost开源博客的源码包,地址为:
笔者使用的源码包为:Ghost
中文集成版下载(建议下载此版本) --
体积:33.6M——Ghost v0.7.4 full (zh)
注意nodejs的版本号:Ghost 官方推荐使用 Node 0.10.x 版本,同时支持 Node 0.12.x 和 4.2.x 版本。
笔者使用的nodejs版本为:nodejs4.2.0LTS
第二步 搭建基本环境
-
首先在unbuntu服务器上安装nodejs
首先解压nodejs源码包
tar zxvf ./node-v4.2.0.tar.gz
然后进入node-v4.2.0 文件夹
cd node-v4.2.0
接着安装nodejs
./configure make && make install
检查nodejs 和npm的版本号
node -v npm -v
-
解压ghost-blog源码包
mkdir ghost-blog cd ghost-blog unzip Ghost-0.7.4-zh-full.zip
3.修改配置文件(config.js)
ps: config.js此文件下的config数据配置对象是一个多维度的对象,它下面有两个比较重要的子对象——production和development,其中默认使用的development这套配置。需要将config.example.js 重命名为config.js
首先修改域名和端口
development: {
url: 'http://www.liutao1995.top:88',
server:{
host: '127.0.0.1',
port: '88'
}
}
使用mysql,进行数据存储
development: {
database: {
client: 'mysql',
connection: {
host : '127.0.0.1',
user : 'root',
password : '123456',
database : 'blog',
charset : 'utf8'
},
debug: false
},
}
整个项目,算是基本完成,可以正常运行了。
配置:上面的server和mysql的host填的都是127.0.0.1,这里是因为我在我服务器上通过了nginx设置了反向代理,使得内部访问走内网,当然你也可以直接设置成你服务器的外网ip地址,不过无论从访问速度还是消耗来说,推荐使用内网设置。
第三步 选择不同的主题风格的界面
ps: 注意Ghost-blog的主题风格代码存放在content/themes/目录下,默认是有两套,第一套为casper-zh,第二套是roon-zh。
下载一套主题,请参考此地址:https://github.com/mousycoder/mouse
有一点不好的就是:主页的博客分类导航栏是写死的,需要配合tag标签,手动修改代码.
办法:
1.在后台添加新tag标签,生成tag访问路径;
2.对后台博客列表中的任一篇博客设置tag分类;
3.修改页面代码,添加不同tag访问路径。
最后需要注意是:
1.解决数据库乱码问题。尽管连接数据库时,已经在配置文件中设置了utf8,可能数据库依然会是乱码。参考此文章https://segmentfault.com/a/1190000002947497
# 设置mysql的编码
$ sudo vi /etc/mysql/my.cnf #
搜索到[mysqld] 插入以下三行:
collation-server = utf8_unicode_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
注意:如果是apt-get 安装数据库,则地址为/etc/mysql/mysql.conf.d/mysqld.conf
$ service mysql restart # 重启生效
$ mysql -u root -p # 输入上面设置的密码
$ show variables like 'char%'
$ show variables like 'collation%' # 查看是否改成utf-8了否则之后数据库内存中文存放的是乱码
四 让程序在后台运行启动
#全局安装forever
npm install forever -g
#启动
forever start index.js
#停止
forever stop index.js
# 查看运行列表
forever list
五.访问:
进过反向代理后,我们只需要直接在浏览器中输入config配置文件里定义的url地址即可。例如:
http://www.liutao1995.top:88
六 设置nginx反向代理 (想要隐藏端口号)
看完后,不想让自己的博客端口直接暴露的话,可以通过反向代理隐藏。
操作:
1.url
设置为www.liutao1995.top
2.反向代理到88端口号www.liutao1995.top:88