之前博客一直以纯静态的方式托管在GitHub Page里面(是基于Hexo的),遗憾的是
- 百度蜘蛛频繁乱爬,导致GitHub对它采取了屏蔽。(参考:解决 Github Pages 禁止百度爬虫的方法与可行性分析)另外这篇文章末尾给出了一个解决该问题的可行方法,但是我个人没有试。
- GitHub Page虽然支持自定义域名,但是对
https
支持的不好(这是一个次要的理由)。
Solutions
- 针对
问题1
,可以把网站部署在OpenShift
- 针对
问题2
,可以使用cloudflare
的免费服务来实现
如何在OpenShift
上部署?
- 注册一个OpenShift帐号(最左边的就行): https://www.openshift.com/
- 建一个
PHP5.X
的Application(注意:里面有直接的hexo应用,我不是很建议,因为是node
驱动的,我用了之后发现如果url中出现中文,会导致404的问题。反正最终生成的是静态文件,我就决定Apache来托管) 1). 因为没有采用直接的hexo
应用,所以hexo-openshift
插件我也没用,而是直接通过git
的方式直接上传到OpenShift远程服务器上 2). 这里需要配置ssh的key文件,考虑不同系统的差异,暂时先不介绍了 - 配置hexo配置文件(虽然这个
hexo-git
插件的文档说可以支持多个repo,但是我实际发现会出一个git的index.lock
的问题,所以这里把github
的先注释了)1
2
3
4
5
6
7
8# Deployment
## Docs: http://hexo.io/docs/deployment.html
deploy:
type: git
message: "Sync blog from my local machine"
repo:
#github: https://github.com/zhouhao/zhouhao.github.io.git
git: ssh://[email protected]/~/git/php.git/ - 至此,每次你写完博客,
hexo generate
->hexo deploy
就可以直接部署到OpenShift上了。
如何使用CloudFlare
服务?
CloudFlare
= DNS解析 + CDN + 简单网站数据分析 + https支持(对Google排名有利)
这4个服务都是我需要的,而且这一切都可以是免费的。具体细节可以自己体验一下,前提是需要有自己的域名。
点击试一下:https://sbzhouhao.net/
注意
OpenShift的免费版本有24小时的APPLICATION IDLING限制,换句话说如果你的网站24小时内连续没人访问,你的网站会被自动停止。