构想:利用 WordPress 客户端发布 Octopress 博客

本文只是一种构想,笔者认为是可行的,只是没有时间,也没有精力去实现它。

标题所提到的两个博客系统,代表着两类博客系统:

1. WordPress: 即 WordPress 博客系统,动态博客系统的代表。

2. Octopress: 通过静态博客生成器(Static blog generator)生成静态博客的典型代表,博客文章、页面等最终以静态页面的形式输出。还有许多其它的静态博客生成器,例如:Jekyll (Ruby),ruhoh (Ruby),Pelican (Python),JBake (Java)等。

继续阅读

为 WordPress 配置 cookie-free domain 和 SSL

最近在配置 WordPress 的过程中,笔者希望可以做到以下几点:

  1. 使用 cookie-free 域来访问静态文件,主要是 css,js,图片等,大多位于 wp-content 目录。
  2. 给网站配置 SSL 证书,使得网站既可以通过 HTTP 访问,也可以通过 HTTPS 访问。
  3. 在通过 HTTPS   访问网站时,不应该出现网页中既包含安全内容也包含不安全内容(及混合内容)的警告,即此时所有引用资源都应该是 HTTPS 协议访问的。
  4. 不希望通过目录级配置文件 .htaccess 文件来实现 WordPress 的固定链接,因为启用 .htaccess 会降低 Apache 的性能。

下面具体说明如何达到这些目标。

一、cookie-free 域的选择

有关 cookie-free domains, 请参考上一篇文章

要达到第一点要求,必须在主域之外,使用第二个域作为 cookie-free 域。

要达到第二点和第三点要求,该 cookie-free 域:a)必须能通过 HTTPS 访问;b)不能直接修改 WordPress 源文件中静态资源为 http://cookie-free.domain/…,写死之后在 HTTPS 访问时会出现混合内容警告。
继续阅读

关于 cookie-free domains

本文主要描述使用裸域名做网站主域名时,如何用子域名做 cookie-free domains。

看站点优化的文章,很多建议将站点的静态文件(如图片、js、css 等)放在一个专门的域名下访问,由于该域名与主站域名不同,所以浏览器就不会把主域名下的 Cookie 传给该域,减少了网络开销,一定程度提高了页面加载速度,特别是细碎静态文件特别多的情况下效果显著。大概这个域就叫着 cookie-free domain 吧。

Yahoo yslow 可以对网页性能进行评级,其中一个指标就是 “Use cookie-free domains”,描述如下:

When the browser requests a static image and sends cookies with the request, the server ignores the cookies. These cookies are unnecessary network traffic. To workaround this problem, make sure that static components are requested with cookie-free requests by creating a subdomain and hosting them there.

大意是当浏览器请求一个静态图片并发送 Cookie 时,服务器会忽略 Cookie。Cookie 根本就没必要通过网络传输。为了解决这个问题,应当创建一个子域并将静态内存放在上面,以确保静态内容都是通过 cookie-free 的方式访问的。

继续阅读

多终端远程发布 Octopress 博客

本文主要讲述如何通过多种设备(PC,Mac,iOS、Andriod 设备)远程撰写及发布基于 Octopress 系统的博客。

工作流程是:远程撰写,然后通过 Dropbox 同步文章到装有 Octopress 构建环境的电脑上,再自动触发 rake 命令生成网站并发布。

推荐将 Octopress 构建环境安装在 VPS 或者专用服务器上,或者一台常开并可以访问外网的电脑上。如果是多人使用的电脑,强烈建议安装一个 Linux 的虚拟机,在虚拟机中配置 Octopress 构建环境。给虚拟机设上密码,保证您的信息安全。虚拟机还能带来一定程度的移动性。

继续阅读

折腾独立博客的那些事儿

都说搞独立博客的人都是爱折腾的主,这话还真不假。

写博客的本意在于折腾出好内容。而独立博客,还要常常折腾域名、主机、网络、程序安装、页面设计、SEO 等等,似乎都有点脱离开博客的本意了。

这一年来,博文写了不多,折腾博客相关的事情却不少。下面说说我折腾过的、或者正在折腾的、或者打算折腾的域名、主机等。

一、域名

早些年,在万网注册过域名,只能有 10 条 DNS 解析记录,修改记录 24 小时生效(当时万网还算比较快的,也差不多要 40 分钟)。最开始100元/年,第二年续费就加了 10 块,第三年还要还要再加 19 块,于是果断放弃。

去年初的一个阳光明媚的午后,突然就想着注册个域名玩玩,于是到网上搜了搜,发现国外的域名服务真是厚道,大部分都支持无限数量 DNS 解析记录,修改记录后数分钟就有效,有些还支持泛域名解析。

在经过几天筛选注册商和寻找优惠码之后,终于在 Network Solutions 注册了域名,当时试了许多貌似过期的优惠码,有一个优惠码应用后的价格居然达到了 $33.74/10年,于是下单,支付时却总是出错,一连数天都出错,后来联系客服才解决,好像是新注册的用户账户状态的问题。

后来想想,花了这么多的时间,虽然买到了相对便宜的域名,但到底值不值得?!
继续阅读

Octopress 博客系统 —— A blogging framework for hackers

本文主要讲述如何独立的安装、运行、发布 Octopress 博客。所谓“独立”,是指在不安装 git,也不需要 Github Pages 来作为发布环境的情况下如何使用 Octopress。

许多介绍 Octopress 的文章总是讲如何发布在 Github Pages 上,可能会让部分读者误以为 Octopress 必须和 Github 结合使用。事实并非如此,笔者就把 Octopress 发布到了 SourceForge.net 主机,访问地址:http://opoo.org/o/

本文主要以 Windows 环境为例,介绍 Octopress 安装、使用过程,Linux 环境下请参考官方文档即可。

一、概述

1、Octopress 是一个博客系统,同时也是一个强大的静态网站生成系统。

2、Octopress 的原理是在本地安装一个 ruby 运行环境,并在本地撰写博客文章,然后执行 Octopress 提供的简单的命令生成静态页面,再通过命令或者手动将静态网站发布在远程主机上。

由于 Octopress 的发布形式是静态网页,所以可以发布在任意主机上(并不仅仅是github pages)。当然也不一定非得是发布在远程主机上,安装 Octopress 运行环境的机器也可以和发布博客的主机是同一台,这个在后面介绍。

3、Octopress 可以离线撰写博客文章,并且可以使用任意文本编辑器工具(例如 vim)来编辑,默认使用 Markdown 语法。

4、可从现有的 WordPress 迁移。

5、不存在备份问题,因为是在本地撰写文章后再发布在远程的。 继续阅读

Git 和 Gradle 初体验

现在越来越多的开源软件使用了 git 作为版本控制系统,并使用 gradle 作为构建工具,从而取代了原来的 SVN + Maven 模式,使得我们有必要初步了解一下 git 和 gradle 究竟是什么。

一、Git

Git 是一个分布式的版本控制系统,官方网站是 http://git-scm.com/ [1],学习git的最好的书籍是《Pro Git》(中文版PDF下载)。 Git 有非常多的可视化客户端[2],可用于 Windows、Mac 和 Linux。

Windows 下 GitHub for Windows 是个不错 的选择,简单的 Git for Windows 也不错。 提到Git就有必要说说 GitHub ,简单的说 GitHub 就是一个 git 库托管服务,可以托管开源库(免费)和私有库(收费),功能有点类似于 SourceForge.net 和 Google Code,其主要特色是“Social Coding”,这使得代码分享变得更容易,其功能已经远远超越了源代码管理的范畴。GitHub 也推出了GitHub Enterprise [3],类似于当年的 SourceForge Enterprise (当今的TeamForge)继续阅读

Spring+ActiveMQ: 嵌入式和独立运行ActiveMQ的配置示例

ActiveMQ 服务可以嵌入在其它应用内部运行,也可以作为独立的JMS服务器启动运行。

在 ActiveMQ 启动后,我们就可以利用 Spring 的 JmsTemplate 作为 JMS 客户端,很方便的生产和消费 JMS 消息了。

这个简单的示例用于演示嵌入式启动 ActiveMQ,和独立运行 ActiveMQ 的 Spring 配置,请点击这里下载示例包

继续阅读