今天调整了下blog,现WP速度向飞的一样。

2009年7月15日 7 条评论

这2天blog写得有点勤,感觉WP这么慢下去也不是办法,随通过如下1,2步聚,现在WP向飞一样。想和我一样飞起来的朋友不可错过。
1、WordPress 缓存与压缩
症状:每点个动态请求都要花掉不少时间
思路:看看有无缓存的插件,应该有,要是没的话不得不操刀了。。
解决:安装 WP Super Cache 并启用了压缩,鄙人的MiaoGzip(这名字取得傻得冒泡)和该插件冲突,于是被无期限地尘封了。

2、Lighttpd 缓存与压缩
症状:每个页面就看到js,css等静态文件也刷刷得被请求
思路:对静态文件缓存6小时,即使刷新也返回304未更改。
解决:对静态文件如css,js,jpg,png等缓存6小时。但我想大家多用得都是apache特别是用虚拟主机朋友,我也不详述。使用mod_expire与mod_compress模块作如下设置,只是代码的核心片段


#压缩所有纯文件,html,xml,javascript,stylesheet,mime-type可能随lighttpd版本不一样而不同,只需依样添入即可。
compress.filetype           = ("text/plain","text/css","text/html","text/xml", "text/javascript","application/x-javascript" )
$HTTP["host"] == "www.jiangmiao.org" {
#指定cache-dir尤为重要,否则不会缓存且每每都刷新。
  compress.cache-dir = var.root+"/tmp"
  $HTTP["url"] =~ "\.(css|jpg|png|gif|js)$" {
    expire.url = ( "" => "access 6 hours" )
  }
}

Apache也类似,重点是压缩与缓存,Apache压缩记得是mod_deflate,缓存是mod_expire。余下得靠自已Google了。

经过这2缓存,2压缩 凭感觉大约有10倍速提升,爽哉。

分类: WP使用 标签:

给PostgreSQL添加MySQL的unix_timestamp与from_unixtime函数

2009年7月6日 没有评论

MySQL的2个常用函数unix_timestamp()与from_unixtime PostgreSQL并不提供,但通过PostgreSQL强大的扩展性可以轻松的解决问题。
话说远在天边,尽在眼前,文档看仔细,问题迎仞解。PostgreSQL 题供extract与date_part取epoch即可

unix_timestamp() = round(date_part(‘epoch’,now()))
from_unixtime(int) = to_timestamp(int)

添加函数unix_timestamp()
CREATE FUNCTION unix_timestamp() RETURNS integer AS $$
SELECT (date_part(‘epoch’,now()))::integer;
$$ LANGUAGE SQL IMMUTABLE;

添加函数from_unixtime()
CREATE FUNCTION from_unixtime(int) RETURNS timestamp AS $$
SELECT to_timestamp($1)::timestamp;
$$ LANGUAGE SQL IMMUTABLE;

分类: PostgreSQL 标签:

添加 medibuntu 源增强ubuntu功能

2009年7月2日 没有评论

ubuntu 虽然提供了大量软件,但有些商业的软件如 adobe acrobat reader 等 幸运的是 mediubuntu 提供了很方便的扩展
当前我用的ubuntu 9的代为 jaunty
添加source到 /etc/apt/sources.list
deb http://packages.medibuntu.org/ jaunty free non-free
运行apt-get update
出错:W: GPG error: http://packages.medibuntu.org jaunty Release:

添加mediubuntu的gpg key
apt-get install medibuntu-keyring
再次运行apt-get update
成功

看看mediubuntu下都有些什么吧:
http://packages.medibuntu.org/
# aacgain
# aacplusenc
# acroread-fonts
# acroread (adobe acrobat reader)
# alsa-firmware
# amrnb
# amrwb
# app-install-data-medibuntu
# apport-hooks-medibuntu
# gizmo5
# googleearth-data
# googleearth
# hot-babe
# ices
# libamrnb3
# libamrnb-dev
# libamrwb3
# libamrwb-dev
# libdvdcss2
# libdvdcss-dev
# medibuntu-keyring
# mencoder
# mplayer-doc
# mplayer
# mplayer-nogui
# non-free-codecs
# realplayer
# rmconverter
# skype-common
# skype (skype)
# skype-static
# skype-static-oss
# w32codecs
# w64codecs

我主要看中了acroreader即adobe acrobat reader,ubuntu提供的pdf浏览器实在是太弱。和skype :)

分类: ubuntu/debian 标签:

从windows+virtualbox到ubuntu+virtualbox

2009年6月16日 6 条评论

过去都是在windows下使用virtualbox虚拟ubuntu,如今ubuntu成了我的主要平台,一切多么美好。仅仅在需要支付宝,网银等才进virtualbox的xp,庆幸的是并不常常发生。

对比windows
ubuntu的优点
1、安全,无需为病毒担心
2、快捷,常用工具只需通过添加/删除程序。
3、稳定,从没发生过不明原因的“该程序执行非法操作”,程序不能运行必定会给出详尽的说明,通过说明google+baidu很容易解决。
4、高效,合理界布局,让我们最快的运行希望的程序。
5、进步,使用linux给常期在windows下的人一个新的思维飞跃,但这是双刃剑,导致其实并不高的“门槛过高”
6、整洁,所有配置,文件都在自已该在的地方,不像windows什么都是注册表,垃圾一天比一天多,永远不会莫名的发出:天那,我的C盘怎么满了?

ubuntu的缺点
1、稍慢,因linux的桌面环境不是直接和内核打交到,所以相比干净的windows会有一点点慢,但比那些装满垃圾残余数据的windows是快上好几倍啦。
2、入手难,习惯windows的思维模式对linux的模式会有点不适应。如不再有盘符概念,当遇到问题时需要搜索大量知识。最简单的,像如何安装一个包,一个字体等等。甚至会说:“看个rmvb,怎么都这么复杂:(,要装这装那。”,适应后会发现空气多么清新。
3、部份常用软件无linux版,或者linux版与windows版相差甚远,如QQ,飞信等软件
4、游戏少,想玩游戏只能放弃ubuntu了。
想运行windows的程序都可以通过一款名为wine的软件,但若您一直在用wine为何不直接回windows呢。

综上可看出ubuntu更适何工作,mysql,python,perl,php,c++等信手捏来,写代码,写文档效率特高。当你在最短时间完成工作了,去逛逛街,打打篮球,蓝天白云,流点汗,生活不亦乐乎。

分类: ubuntu/debian, 闲聊 标签:

放弃MySQL是正确的选择

2009年4月21日 10 条评论

前不久因IBM要收购Sun而转用PostgreSQL,没想到Sun被Oracle收购了。这下MySQL的前途就更加暗淡了。

加之PostgreSQL越发熟悉,越来越喜欢了。

分类: 闲聊 标签:

使用256色的debian终端

2009年4月8日 没有评论

  putty ssh连debian,都只有8色,看到putty有xterm 256色选项,告诉我debian因该有可以支持256的方法。

#tput colors

1、安装ncurse-term
apt-get install ncurses-term

2、更改环境TERM
export TERM=xterm-256color

# tput colors
256

修改putty window->colours->Allow terminal to use 256-color mode.
 成功!

分类: 系统管理 标签:

很麻烦,PostgreSQL不支持integer到boolean的转换

2009年4月5日 没有评论

如数据库test拥有字段
banned boolean 

使用命令
insert into test(banned) values (0)

返回为

 

ERROR:  column “banned” is of type boolean but expression is of type integer

LINE 1: insert into test(banned) values(0)
很是不方便。用cast也没用 
难到只能用规定的 TRUE,’t',’true’,'y’,'yes’,'1′吗?

但奇怪的是select 0::boolean支能显示false

分类: PostgreSQL 标签:

PostgreSQL like无法使用索引

2009年4月2日 没有评论

使用 like 进行查询 如 explain select* from titles where title like ‘h%’  一直显示 Seq Scan。 google+百度后,得知要设定locale为C才能使用like。

使用命令 initdb –local=C -D 集群路径 建立新的集群

分类: PostgreSQL 标签:

PostgreSQL 触发器(Trigger) 使用

2009年4月1日 没有评论

目标:
当表alphas插入新行时,更新titles的alpha_at为NOW()
当表alphas删除行时,更新titles的alpha_at为NULL

1、安装plpgsql语言到数据库

createlang plpgsql DATABASE

2、建立一个返回为trigger的过程

CREATE OR REPLACE FUNCTION after_alphas_id() RETURNS trigger AS $BODY$
BEGIN
  IF( TG_OP='DELETE' ) THEN
    UPDATE titles SET alpha_at=null WHERE id=OLD.title_id;
  ELSE
    UPDATE titles SET alpha_at=NOW() WHERE id=NEW.title_id;
  END IF;
  RETURN NULL;
END;

$BODY$
  LANGUAGE 'plpgsql';

3、创建触发器

CREATE TRIGGER after_alphas_id
  AFTER INSERT OR DELETE
  ON alphas
  FOR EACH ROW
  EXECUTE PROCEDURE after_alphas_id();
分类: PostgreSQL 标签:

开始使用PostgreSQL代替MySQL

2009年4月1日 2 条评论

最近IBM要收购Sun,Sun在早先日子收购了MySQL,但并没给MySQL注入多少活力。MySQL的前景仍是个未知数。加之为了对未来使用Oracle打下一定基础,遂决定开始使用PostgreSQL。

分类: 闲聊 标签: