博客新家&octopress安装
终于成功安装了octopress在我的vps上了,相对于网上的教程来说呢,我的安装过程可谓艰辛啊,不过终于安装成功了。以后这里就是我的博客的新家了,看起来还是不错的哈。先记录下安装的过程吧。
octopress与wordpress最大的不同就是使用的都是静态页面html.octopress工程安装在你本地就可以了。然后通过工具生成静态页面,然后可以同步到服务器上面,没有数据库。相对于动态工程来说,同步更简单、更返璞归真。但有些弊端就是没有数据库无法做评论等系统。但可以借助第三方评论,octopress里面默认安装了disqus插件。这里面我就使用了disqus作为评论系统。
1、我具备的条件
首先说下我的系统MacOS 10.9.2. Xcode安装版本5.1. vps是linode, CentOS6. nginx服务器(octopress都是静态资源,nginx对于静态资源性能较佳)。 有独立域名解析。
2、开始安装ruby
由于mac系统已经预装了ruby,可以省去ruby安装的过程,octopress要求ruby的版本1.9.3以上,所以先检查下系统的ruby版本
ruby -v
通过以上命令查看我的ruby版本是ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13],因此可以不用再装ruby了,如果低于这边版本可以参考:rbenv和RVM。 最开始安装的时候我还傻傻的安装了rvm,然后用rvm安装ruby1.9.3的时候发现不行,其实系统自带了,不用自己再安装了。
3、clone代码并安装
git clone git://github.com/imathis/octopress.git octopress
cd octopress
然后安装bundler,因为mac10.9以后有限系统文件加权限认证了,所以加个sudo,后面命令最好都加个sudo
sudo gem install bundler
sudo bundle install
我在这一步遇到问题了哈,原因就是Xcode5.1版本刚发布,编译器升级导致有些库现在编译不通过。我的做法就是回退到Xcode5.0.2版本。(注:现在可能不需要了,开发这会维护这些库保证能编译通过的)。 以防遇到编译错误的情况就可以通过使用较老版本的xcode进行编译就行了。
比如我按照好xcode5.0.2, 然后把命令行xcodebuild版本切换到xcode5.0.2, (没有遇到编译不通过的同学可以跳过了):
sudo xcode-select -s /Applications/Xcode_502.app
然后安装默认主题:
sudo rake install
4、创建博客并预览
这个时候已经可以创建第一篇博客了
rake new_post["博客新家"]
这个命令会创建一个markdown文件在 octopress/source/_posts下面。所以如果想要用octopress写博客,就要学店markdown的用法哦,不过很简单,我直接下了个编辑工具Mou进行编辑
rake generate
rake preview
以上的两条命令,第一条就是根据你写的markdown生成静态页面,第二条命令可以在你本地开启一个服务,端口4000,然后就可以在本地预览的你博客啦:
http://localhost:4000
我在这一步也出了问题,You have already activated rake 10.1.1, but your Gemfile requires rake 0.9.2.2. Prepending bundle exec
to your command may solve this. 这个是因为mac上默认安装的rake版本与octopress目录下的Gemfile版本不同。
- 修改方法:打开octopress目录下的Gemfile文件,可以用文本,也可以用vim(如果你熟练的话), 找到rake那一行,修改为你mac上的rake版本就行了:
gem 'rake', '~> 10.3.1'
5、安装主题
既然是博客,当然要有主题啦,先给出一个查看主题的网站。opthemes,这个网站给出了一些octopress的主题,大家可以根据自己的喜好自己选择,比如我选择了geryshade.
cd octopress
git clone https://github.com/shashankmehta/greyshade.git .themes/greyshade
rake install['greyshade']
rake generate
ok这样就安装完成了我们选择的主题了
6、设置评论
这里我用的DISQUS,这个octopress自带了,不用安装插件。先去disqus注册下,注册完获取自己的disqus_short_name, 然后在你的octopress/_config.yml
文件中填入你的disqus_short_name就行了。
# Disqus Comments
disqus_short_name: yourshortname
disqus_show_comment_count: true
这一步我也出了状况,就是这样设置了之后preview时看不到评论,只有Comments一个单词展示在页面上,查了老久,终于发现问题 disqus控件的加载放在 octopress/_includes/after_footer.html
里面,这个是octopress的默认主题的配置,而我换了greyshade之后,这个文件都没有被调用,所以不能展示,所以解决办法就是在octopress/_layouts/default.html
中的footer前 include after_footer.html 就行了。我这里是在18行。
7、发布到VPS
为了发布方便和服务器安全,先为我们的博客创建一个用户(比如命名为blog),因为我的nginx是用的www用户组,所以我把用户归到www用户组,用户主目录设定组内读写权限。:
useradd -d /home/blog/ -g www blog
chmod -R 760 /home/blog/
在vps上nginx的配置中新增虚拟主机, 目录指向刚才用户目录:
server
{
listen 80;
server_name blog.yourdomain.com;
index index.html index.htm;
root /home/blog/;
}
重启nginx.
service nginx restart
在本地的Rakefile文件中配置服务器信息
ssh_user = "you@yourdomain.com"
ssh_port = "22"
document_root = "~/"
rsync_delete = false
rsync_args = "" # Any extra arguments to pass to rsync
deploy_default = "rsync"
配置完成之后可以deploy到服务器上啦
rake generate
rake deploy
然后敲入你的域名就可以观看啦。