Ghost 博客系统终极安装教程,装不上来打我!
2016-01-09 18:05
232 查看
先放出Ghost博客项目地址:https://github.com/tryghost/Ghost
基本配置:http://support.ghost.org/getting-started/#step-3:-basic-ghost-configuration
后台运行:http://support.ghost.org/deploying-ghost/#making-ghost-run-forever
邮件设置:http://support.ghost.org/mail/#from-address
第一次运行注册:http://support.ghost.org/ghost-first-run/
前言
Ghost这个博客系统可真是难装,第一次装失败后放弃了一段时间,转而用的JustWriting,但是这个系统也太精简了......之后我决定回归ghost!我在一个国外哥们儿的博客上找到了一篇Ghost安装参考教程,结合官网文档略加修改成功安装。后来经历了好几次重装和升级,我现在对Ghost的安装和配置已经轻车熟路。顺便吐槽一下,官方文档写的有点混乱,各种链接跳来跳去,完全不按流程来,我第一次安装愣是没看懂。那里面还要求用浏览器打开本地2368端口进行预览,我VPS连个图形界面都没有,预览个啥。好了,废话不多说,正文开始,本文对官网教程做了整编,让你轻松拥有自己的博客。Ghost+Web服务器转发原理介绍
官方文档建议使用Nginx作为Ghost的前端来转发80端口请求,那么Ghost的工作总流程就可以描述为:Nginx监听80端口,Ghost一直监听本地127.0.0.1:2368端口,你从外网访问www.xxx.com时,Nginx从80端口接收请求,将之转发到本地127.0.0.1:2368端口,然后Ghost就收到访问请求了。可是为什么不直接让Ghost使用80端口呢却要依赖Web服务器转发呢?这是因为Ghost直接监听80端口的话是需要root权限的,为了避免风险,就用Nginx转发一下。另外,Nginx毕竟是Web服务器,配置灵活、并发高,用来做Ghost的前端是非常适合的,如果你服务器上还有其他网站那就更要用Nginx了,不然你的80端口给了Ghost就没法负载其他网站了。有的朋友的服务器上本来就有Apache支撑的其他网站,现在又要装Nginx,这两者不可能同时存在,不然80端口不够分的,看起来好麻烦,怎么办?这篇教程除了提供Ghost+Nginx的方案外,还提供了Ghost+Apache的方案来作为示例,不管你熟悉哪一个,总有一个适合你。Ghost采用Node.js编写,默认使用SQLite3数据库,非常轻量,因为是文件型数据库,所以无需安装。Ghost还有强大的社区支持,创始人本身也在用这个软件进行商业化运营提供收费托管服务,软件开发的流程非常规范,开发者社区运作井井有条,不用担心这软件得不到维护。你还在使用WordPress这个大家伙吗,赶紧投奔Ghost吧。演示环境
系统配置:CentOS 6.X首先你要有一台VPS,并且有一个域名,这里不展开讲怎么购买了,本文主要针对具备Linux使用基础并且已有建站经验的朋友。下面的步骤假设你有一个域名,拿我的域名haolee.me做示例吧!Fire up your terminal !
准备步骤
Node.js的安装
安装4.4 LTS版的node.js,编译安装太麻烦,可以直接去Google搜索下载二进制包,解压并将得到的目录重命名为node放入
/usr/local/系统目录下,然后在
/etc/profile里追加一行
export PATH=$PATH:/usr/local/node/bin,你可以直接编辑文件,也可以通过如下命令做到这一点:
echo export PATH=$PATH:/usr/local/node/bin >> /etc/profile再用
source命令让这个设置生效:
source /etc/profile
Web服务器的安装
安装Nginx或者Apache(httpd),自己选择吧!这里不展开讲了,实在是太简单了。创建Ghost目录
创建Ghost目录,mkdir /var/ghost
下载Ghost解压
cd /var/ghost切换到Ghost目录,去官网把Ghost软件包下载下来,然后
unzip ghost-xxx.zip解压软件包,解压后你会发现所有的文件都散在当前目录里了。
Ghost安装流程
之后的步骤都在/var/ghost目录里进行,请提前切换到root用户,免得麻烦!
安装相关依赖模块
npm install --production官网上的说明里,这一步没有加参数-g,不要乱加。既然没有加-g,那就是本地安装而非全局安装,安装位置在本目录下的
node_modules/里
初次运行
直接启动,让Ghost做一些初始化操作npm start --production在这期间你会看到一些输出,如果有红色字体标明的Error提示,说明出现了错误。
结束初次运行
然后Ctrl+C关闭Ghost,我们还要继续进行一些设置。设置域名
Edit config.js and change the url: to your URL. 编辑config.js文件,将production:代码块内的url: 'http://my-ghost-blog.com',改为
url: 'http://haolee.me',注意这里写的URL就是以后注册账号和登录后台时所用的URL,必须完全一样,http前缀也不能省略,如果注册时用的URL和这里的不一样,那么就会出现错误提示说无权限访问!
优化邮件设置
优化下邮件设置,让博客系统给自己发邮件时发件人地址更规范一些。 编辑config.js文件,将
production:代码块内的
mail: {},改为
mail: { from: '"Hao Lee\'s Blog" <blog@haolee.me>' },
设置Web服务器
所有请求haolee.me的连接,都将被Web服务器转发至Ghost的2368端口。这也就允许你在同一台服务器上拥有其他网站,从而互不影响。对于Nginx用户
打开/etc/nginx/nginx.conf,在
http语句块内追加上:
server { listen 80; server_name haolee.me; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:2368; } }重启Nginx
/etc/init.d/nginx restart
对于Apache用户
打开/etc/httpd/conf/httpd.conf`#NameVirtualHost *:80`这一行取消注释再在文件末尾加上如下语句,配置请求转发
<VirtualHost *:80> ServerName haolee.me ProxyRequests Off ProxyPreserveHost On <Proxy *> AddDefaultCharset Off Order deny,allow Allow from all </Proxy> ProxyPass / http://127.0.0.1:2368/ ProxyPassReverse / http://127.0.0.1:2368/ </VirtualHost>重启httpd服务,
service httpd restart
完成这些后
现在启动Ghost并访问域名已经能进入博客页面了,但下面还需要实现Ghost后台运行,不然你退了终端的话Ghost就停止了。使用Forever让Ghost后台运行
安装forever包npm install forever -g启动Ghost用这条命令
NODE_ENV=production forever start index.js关闭ghost用这条命令
forever stop index.js查看运行状态用这条命令
forever list
注册账户
用forever命令让Ghost后台运行,然后浏览器访问
http://www.example.com/ghost就可以看到初始化界面。开始注册吧,注册后就能使用你自己的博客了。如果这一步提示说没有权限,那就是这里所用的URL和前面配置文件中所写的不一样,请检查下config.js文件或修改浏览器地址栏URL。
系统重启后
系统重启后别忘了启动Nginx或Apache,其实应该设成开机自启。然后用forever后台运行Ghost即可。后记
备注
为什么不直接让ghost监听80端口,而要Web服务器转发请求?http://support.ghost.org/basic-nginx-config/其他参考资料
官网安装步骤:http://support.ghost.org/installing-ghost-linux/基本配置:http://support.ghost.org/getting-started/#step-3:-basic-ghost-configuration
后台运行:http://support.ghost.org/deploying-ghost/#making-ghost-run-forever
邮件设置:http://support.ghost.org/mail/#from-address
第一次运行注册:http://support.ghost.org/ghost-first-run/
鸣谢
本文的Apache配置部分参考了:https://www.centosblog.com/install-ghost-blog-platform-centos-linux/这文章里面的1-4步和第6步很有用。第五步写的有点怪异,我们不参考了,而是按照官网的做法,先启动Ghost让其初始化配置文件,再对配置文件进行编辑Edit config.js and change the url: to your URL.相关文章推荐
- Ghost 博客系统终极安装教程,装不上来打我!
- 设计模式概述
- iOS 进阶 第十七天(0420)
- COIDE下STemwin移植教程
- MFC中如何在一个类中调用另一个类的控件
- 统计目录下面的文件所有单词
- javaEE之------Hibernate学习笔记
- iOS 进阶 第十六天(0419)
- 使用Java开发多线程端口扫描工具(二)
- Zabbix安装部署
- Zabbix安装部署
- Zabbix安装部署
- SAP R3 Oracle 9i 客户端安装 windows 用户端
- SAP R3 Oracle 9i 客户端安装 windows 用户端
- Swift开发IOS-UIActivityIndicatorView
- rails书籍展示添加游客评论
- iOS 进阶 第十五天(0417)
- 迁移ADT/ANT构建的Android项目至Gradle,a walk through。
- jQuery页面刷新(局部、全部)问题分析
- android监听软键盘,计算软键盘高度