Submitted by gouki on 2010, November 5, 10:04 PM
这个功能能,看上去不错,所以我转了一下,但,我目前还没有在自己的服务器上尝试,不过我也在想,如果这样操作了,图片怎么样被外站引用呢?这也是我考虑的原因。。。
原文:
曾经有位朋友自己做了个小网站,刚开始没什么人气,后来不小心把流量搞大了,用户抱怨访问缓慢,就让我帮忙看看哪里可以优化。那时 Steve Souders 老师的 YSlow 14条军规刚刚新鲜出炉,开宗明义第一句便是:网页性能 80% 消耗在前端。于是运用 Firefox+Firebug+YSlow 工具,轻松找到那些大图小用、过期时间太短、JS/CSS位置不正确、没有精简压缩的罪恶之源。前后只花一两周时间就把网站弄快了,好不得意。
今天 Google 发布的 mod_pagespeed for Apache 2,着实令人赞叹。原本需要一两周时间才能完成的前端优化工作,不到半个小时就能搞定,而且不用修改任何程序。现成的二进制安装包,下载来 直接装入系统,自动添加配置,重启 Apache 之后,一切前端问题自动优化。CDN服务商 Cotendo 已在其CDN服务器上部署mod_pagespeed以加速客户网站访问,图片文件大小经自动压缩可减少20%-30%,页面加载时间最多可缩短50%。 Go Daddy 也宣布将在其客户网站服务器上广泛部署mod_pagespeed。
mod_pagespeed 中有很多巧妙的设计,规避了以往必须要动复杂手术才能解决的问题。比如,它可以将图片文件的过期时间自动延长到一年,无论图片是否存在同名更新(即文件名 不变,图片内容随时可能改变,从而无法设置较长的过期时间)。假设网站原来的logo图片引用和HTTP header如下:
XML/HTML代码
- HTML tag : <img src="images/logo.gif" />
- HTTP header: Cache-Control:public, max-age=300
经自动处理后,会变成:
XML/HTML代码
- HTML tag : <img src="images/ce.c17941127d34679357baa1b36fb4ecc5.logo,g" />
- HTTP header: Cache-Control:public, max-age=31536000
mod_pagespeed 把原来的 logo.gif 转化为名称唯一的 ce.c17941127d34679357baa1b36fb4ecc5.logo,g ,并且将原先的过期时间300秒延长到31536000秒(一年)。mod_pagespeed 则仍然以此前定义的 TTL 300 秒为周期,定期检查图片是否更新,一旦图片内容发生改变,文件名也会相应变化,如此就不用管同名更新的问题了。
又如最常见且最难以控制的“大图小用”(80x80的图片框里塞一张1024x768的高清墙纸),mod_pagespeed是这样处理的:
XML/HTML代码
- <img src="images/Puzzle.jpg" width="256" height="192" />
识别 IMG 标记中设置的宽度和高度值,自动缩放为相应大小和质量的图片:
XML/HTML代码
- <img src="images/ic.HASH.256x192xPuzzle,j.jpg" />
还有很多有趣的功能,在
http://www.modpagespeed.com 可以看到实例展示。
mod_pagespeed 显然很适合中小规模网站使用,不用太多费力于前端改造,就能迅速成倍提升客户体验。但对于大规模商业网站来说,我认为还是要慎重,因为它实时过滤处理每一 次请求,存在不小的开销,而且作为beta版软件,即使要采用也得先进行充分测试。当然各种优化手段也可能有副作用,值得一提的 是,mod_pagespeed 的
文档写得不错,条件、限制、风险都很明确,建议详细研究后再作抉择。
--EOF--
好象作者活在墙外,真让人痛苦,转载了他的文章吧,却不能给人家一个地址,所以贴上他的博客地址:http://hutuworm.blogspot.com/
Tags: apache, mod
苹果相关 | 评论:0
| 阅读:20882
Submitted by gouki on 2010, November 4, 3:49 PM
乘着最近在大战,我也贴个UBUNTU下装QQ的方法。只是这个QQ也是被改过的版本。爱用不用喽。。。。经测试,比linux占资源少一点,只是一些QQ附加的功能都可能没有了。。但是,能够聊天已经很不错了。
如果不用虚拟机,你连WEBQQ也用不了,有这样的工具,你还能怎么样?
先装wine,然后用winetricks装上这些常用的(其实前两天我的博客里介绍的wine就已经有介绍这样的了)。
XML/HTML代码
- winetricks msxml3 gdiplus riched20 riched30 vcrun6 vcrun2005sp1
最后我COPY这段文字,请大家可以随便看:
XML/HTML代码
- 第四步:最后建议下载这个由深度出品的qq2009单文件版,主要是兼容性好(下载地址在文章最后给出)。
- 下载解压后把“wineqq2009.exe”放到你的主目录,打开 Shell 来一句:
- sudo chmod +x wineqq2009.exe
- PS:加权限了才准许运行。
- 最后将wineqq2009.exe复制到“.wine/dosdevice/c:/windows/system32/”文件夹里改为qq.exe。
- 当然你也可以下载qq2008,但是由于和Ubuntu的输入法冲突,你只要在密码框打密码qq就会崩溃,当然也有解决办法。
- 1.在一个空白文档里打下密码,然后再粘贴到密码框。
- 2.用软键盘输入密码。
- PS:记得把自动登录选上,下次就没有这么麻烦了^_^。
- 所以,综合考虑,还是选这个qq2009单文件版好多了!
- 第五步:加入WineQQ菜单。
- 1.在”.wine/dosdevice/c:/windows/Program Files/Common Files”文件夹内右键选择新建文件夹Icon.下载QQ图标放到此处。
- 2.右击菜单条,选择编辑菜单(E),新建项目位置如下图:
-
- 3.编辑项目图标就从第1点的位置找到图标,其它内容如下图:


由于文件太大,我不提供下载,请到这里下载单文件版的QQ:http://killmind.com/blog/?post=188,我的文章也是从这里看的。(其实前两天我装wine的时候就尝试过所有版本的QQ了,但都是只能装不能启动。真的很郁闷。所以试了一下这个单文件的QQ),运行后,所有的聊天记录和信息文件存在mydocument目录下。和2009选择存在我的文档下结果是一样的。GOOD LUCK
后记:最后我看了这里:http://blog.chinaunix.net/u/27383/showart_689260.html,虽然它写的是2007版的QQ,但我测试了一下,2010的确实能用。虽然在安装的时候注册组件出了两次错,但确实是启动成功了(输密码的时候,请使用软键盘,否则,光标一移动到密码框就出错了。)
备份:
XML/HTML代码
- 我的安装环境是:RedHat.Enterprise.Linux.AS.V4.0.Update4 + wine-0.9.44.tar.bz2 + 珊瑚虫 2007v5.0b正式版
-
- 第一步,用root用户登陆Linux,挂载WindowsXP系统的C盘分区。
-
- 新建一个文件夹,作为WindowsXP系统C盘的挂载点,我选的是/mnt/WindowsXPc
-
- mkdir /mnt/WindowsXPc
- 创建挂载点
- mount -t ntfs /dev/sda1 /mnt/WindowsXPc
-
- 第二步,切换到普通用户登陆Linux,安装wine,因为用root用户安装wine时会提示错误。
-
- 打开终端,进入wine安装包所在的目录比如我放在了/opt
- cd /opt
-
- 解压wine安装包(我在这无法用命令解压,只好右键“用归档管理器打开”,不知道怎么回事?)
-
- tar xjvf wine-0.9.44.tar.bz2
- 进入解压得到的文件夹中
- cd wine-0.9.44
- 运行wine自带的安装程序
- ./tools/wineinstall
-
- 接下来是极其漫长的等待,盯着编译状态中的终端长达10分钟以后,忍无可忍的我夺门而出 —— 吃晚饭去......安装过程会提示你选择"yes"或"no",全都选"yes",一路回车下去即可。安装的末尾阶段,终端中会提示你输入root用户的登陆密码,这就是安装即将结束的标志。如果一切顺利,安装结束以后会有"Goodlucky..." 的信息提示,这就说明wine已经成功安装到你的Linux上了。
-
- 为了接下来步骤的顺利进行,建议大家注销一下系统,以root用户名登录Linux。
-
- 第三步,因为之前我们已经挂载了WindowXP系统的C盘,这时便将WindowsXP系统 C:\Windows\system32 里的以下文件:mfc42.dll,msvcp60.dll,riched20.dll,riched32.dll 拷贝到Linux系统root用户目录下的 ./wine/drive_c/windows/system32 里,覆盖原有文件。
-
- 第四步,安装QQ。
- 在终端中切换到QQ安装文件所在目录,比如我放在了/opt
- cd /opt
- 以wine的方式运行QQ的安装文件
- wine IPQQ0750b.exe
-
- 接下来,我们便可以看到在Windows下常见的QQ安装窗口了,安装过程跟Windows下完全一样,一步一步“下一步”就行了。在这里我要提醒一点,QQ主程序的安装路径最好选默认值,系统会自动将其存放到Linux虚拟的WindowsXP C盘的相应位置中,这样可防止过后执行过程中出现一些未知的错误。
-
- 第五步,安装结束以后,把QQ安装目录 ./wine/drive_c/Program Files/Tencent/QQ 里的 TIMPlatform.exe 删除掉。
-
- 第六步,为QQ设置一下wine。
- 在终端中输入下面的命令打开wine的配置文件
- winecfg
-
- 在"Applications"标签里添加QQ的主执行程序QQ.exe;在"Windows Version"下拉框中选择"WindowsXP";完成上述两步以后,点击“应用”,然后切换到"Libraries"标签,在"New override for library"下拉框中添加riched20和riched32,最后确定退出。
-
- 第七步,运行QQ。
- 安装QQ时在桌面上创建了快捷方式,但那是.lnk格式文件,Linux下好像无法运行。我自己又重新创建了一个QQ启动器,但是双击没反应;若将启动器修改为“在终端中运行”,双击以后只弹出一个小窗口,而且瞬间就消失了,不知道怎么回事?最后我只能选择在终端中用命令行来打开QQ。
-
- 在终端中切换到QQ主程序安装目录
- cd ./wine/drive_c/Program Files/Tencent/QQ
- wine QQ.exe
- .
- .(一大堆信息,看不懂...)
- .
-
- 这个时候,熟悉的QQ登陆窗口就出现了!接下来的操作就不用我多说了吧,号码,密码,登陆,OK!
Tags: ubuntu, qq, wine
苹果相关 | 评论:1
| 阅读:26312
Submitted by gouki on 2010, November 1, 12:22 PM
在UBUNTU下面想要使用WINDOWS下面的程序,除了用虚拟机,剩下的应该就是wine这种解决方案了。
wine目前支持的东西越来越多,但是,需要给wine安装很多win下面的库才行。于是,php研讨群中的lukin给了我一个常用的库的列表,让我安装:
$winetricks corefonts gdiplus gecko ie6 mdac28 mfc40 mfc42 msxml6 riched20 riched30 richtx32 vcrun6 vcrun2008
于是,兴冲冲的运行了一下,弹出这样的框:
XML/HTML代码
- gouki@gouki-desktop:~$ winetricks gdiplus gecko ie6 mdac28 mfc40 mfc42 msxml6 riched20 riched30 richtx32 vcrun6 vcrun2008
- Executing wget -O WindowsXP-KB975337-x86-ENU.exe -nd -c --read-timeout=300 --retry-connrefused --header Accept-Encoding: gzip,deflate http://download.microsoft.com/download/a/b/c/abc45517-97a0-4cee-a362-1957be2f24e1/WindowsXP-KB975337-x86-ENU.exe
- WindowsXP-KB975337-x86-ENU.exe: Permission denied
- ------------------------------------------------------
- Note: command 'wget -O WindowsXP-KB975337-x86-ENU.exe -nd -c --read-timeout=300 --retry-connrefused --header Accept-Encoding: gzip,deflate http://download.microsoft.com/download/a/b/c/abc45517-97a0-4cee-a362-1957be2f24e1/WindowsXP-KB975337-x86-ENU.exe' returned status 1. Aborting.
网上找了一点资料,说法较多,比如winetricks没有权限啦,.wine目录不是当前用户权限啦,所以,我到home目录下执行了
XML/HTML代码
- chown -R gouki:gouki /home/gouki/.wine
- sudo chmod +x /usr/bin/winetricks
更改完后,再次执行,还是上述错误。这回真的是找了很多资料,有一个回复比较靠谱,说是需要更改.winetrickscache权限为当前用户,或者下载最新的winetricks脚本(里面有含对目录权限的判断和更改)
然后,我找了一下我的home目录,却发现我根本没有.winetrickscache目录。因此,立刻
XML/HTML代码
- mkdir /home/gouki/.winetrickscache
然后再次执行下面的程序,终于可以开始安装了。问题自然是就此解决。作个笔记
参考:http://forum.winehq.org/viewtopic.php?t=5174&view=previous&sid=cc8cacaa4cb95e574ef0d6ae9d1706e3
Tags: wine, winetricks, permission
苹果相关 | 评论:2
| 阅读:20220
Submitted by gouki on 2010, October 28, 5:41 PM
最近在用UBUNTU,那么遇到的问题就是如何让我的ubuntu的文件与windows共享?虽然一般来说我们有常见的几种:
1、samba文件共享(windows可以直接搜索网上邻居来访问,但配置较烦和繁)
2、remote desktop,这个,如果虚拟机是XP,那么在连接的时候,默认界面就被锁定了,不方便
3、VirtualBox自带的sharefolder。推荐的也是这个。
4、FTP(SFTP)这两种都可以,只是FTP需要HOST装FTP软件,sftp的话,则是需要HOST装ssh,XP装SSH客户端
现在说说sharefolder吧,如果你开启了这个功能,默认系统会让你选择一个UBUNTU的目录,然后就可以共享了。只是你不知道这个共享后目录在哪里,怎么办?
这时候,打开网上邻居,你会发现,除了windows network外,多了一个virtualbox network,在这里,你就找到:

打开后,将这个目录映射为虚拟盘就OK了。
然后就你可以象在本地一样操作了,灰常爽啊。
Tags: virtualbox, windows, samba
苹果相关 | 评论:0
| 阅读:22813
Submitted by gouki on 2010, October 26, 7:03 PM
/etc/resolv.conf,这个文件是DNS域名解析的配置文件,它的格式很简单,每行以一个关键字开头,后接配置参数。
resolv.conf的关键字主要有四个,分别是:
nameserver #定义DNS服务器的IP地址
domain #定义本地域名
search #定义域名的搜索列表
sortlist #对返回的域名进行排序
较为简单的/etc/resolv.conf示例:
domain neatstudio.com
search www.neatstudio.com neatstudio.com
nameserver 8.8.8.8
nameserver 4.3.2.1
最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。(一般dhcp的时候都会带有nameserver过来,也可以自己指定一下nameserver)
Tags: resolv, ubuntu
苹果相关 | 评论:0
| 阅读:22304