vLog 一个使用Python编写的轻量级博客系统

Tue 05 February 2013

介绍

何为vLog

大家有人可能注意到博客改变了,是的前面也有文章提到从wordpress迁移到vlog,但是何为vLog这里给大家简要的说明一下,vLog是我使用Pythontornado框架和Jinja2模板引擎,基于MySQL数据的一个轻量级的博客系统,此系统功能比较薄弱,处于开发初期,使用Markdown的格式来抒写博文.

为什么vLog

vLog后台十分简单(可以说是简陋),功能也简单,就是一款简单的博客系统,提供了Python终端脚本,可以在终端来抒写博文, vLog使用一套非常简单的缓存系统,缓存使用memcached使得页面加载速度非常快.

为什么不vLog

相对与wordpress vlog非常简陋,仅仅提供简单的博客功能,而且使用Python编写主机方面支援不太多,虽然有SAEGAE的支援,但是我没弄过,所以没有支援SAEGAE(如果你有兴趣,可以添加相关支持)

安装

平台

  • Linux
  • python2.7
  • MySQL
  • Memcached 1.4.5

依赖库

  • tornado
  • jinja2
  • MySQLdb
  • pylibmc

开始安装

首先确认config.py的DEBUG是打开的,然后执行run.py,打开浏览器输入当前地址,会跳转到安装页面.按照提示安装,安装完毕后可以关闭DEBUG

从Wordpress中导入

从Wordpress导出

在wordpress管理后台选择工具->导出,下载导出文件可以导出一份xml

移动媒体文件

将/path/to/your/wordpress/wp-content/uploads/下的所有文件移动到/path/to/your/vlog/web/static/upload 下即可

务必要先执行这一步然后再在后台里导入xml

导入到vLog

进入vLog后台,选择导入,浏览选中导出的xml, 然后选择开始,等待提示成功后即导入成功

手动更改没有生效的链接

虽然我已经竭尽所能的让你手头的工作更少,但是还不够,还是存在许多需要手动更改的地方, 比如每篇文章的没有替换掉的图片链接

不足

网站迁移后我已经尽力的来保持原来的链接有效,但是我仅仅知道我原来的wordpress的链接,所以仅仅兼容了我原来使用wordpress的旧链接,如果没能兼容您的wordpress的链接在此表示歉意,您可以自己添加提交给我,或者将您的链接提交给我由我来给您添加

结合nginx

参阅tornado文档

源代码

代码放在github上: vLog

Category: Python Tagged: vLog tornado blog 博客 轻量 markdown

comments


vLog使用Tornado框架结合memcached缓存页面

Wed 16 January 2013

原因

Blog是一个更新并不很频繁的一套系统,但是每次刷新页面都要更新数据库反而很浪费资源,添加静态页面生成是一个解决办法,同时缓存是一个更好的主意,可以结合Memcached添加少量的代码进行缓存,而且免去去了每次更新文章都要重新生成静态页面,特别当页面特别多时.

实现

主要通过页面的uri进行缓存,结合tornado.web.RequestHandler的prepare和on_finish方法函数, prepare 主要是请求前执行,on_finish()是请求结束之前执行.在渲染模板时缓存页面内容,然后在请求前检测是否有缓存,如果有直接输出缓存,结束请求,在POST提交之后清空所有缓存,重新生成缓存,从而保证内容实时性.由于登录用户和普通用户的页面不相同,所以不缓存登录用户页面(代码中没有体现,请自行实现).主要python代码(省略了模板渲染的代码):

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#
#   Author  :   cold
#   E-mail  :   wh_linux@126.com
#   Date    :   13/01/14 09:57:31
#   Desc …

Category: Python Tagged: Linux python Memcached pylibmc 缓存 vLog

comments

Read More
Page 1 of 1

Fork me on GitHub