用Chrome的调试工具改善网站整体访问性能

Chrome浏览器的Developer Tools里面有个Audits工具,可以很方便的帮我们发现网站存在的一些常见问题,比如缓存时间设置问题,header里面是否有CacheControl Public问题,Gzip是否打开等等,建议做系统管理的可以尝试一下。 另外,在IE下有个HttpWatch Professional的插件,这个工具也提供很全面的网站访问改进建议!

Continue Reading →

使用HAProxy对MySQL进行负载均衡和状态监控

转载请保留原文内容,并声明转载地址:http://www.toplee.com/blog/1284.html 乐搜(lesoo.com)使用HAProxy已经很久了,但主要用在前端web请求的负载均衡和状态监控上,对于后端的Memcached以及MySQL却一直没有应用,最近对系统架构进行了小规模的整理,把MySQL也收编到了HAProxy下,经过一段时间的使用,体验还是不错的。 详细的HAProxy的安装配置我就不说了,主要针对HAProxy如何监控检测后端MySQL服务器的状态说两句。 我们的环境由两台master和若干台slave数据库组成,在HA的配置中,可以设置灵活的策略和进行slave的分组,如果系统更大了,将还会根据业务系统来拆分若干个master和slave组。 声明:以下内容应用和验证环境是基于 FreeBSD 8.2 环境,MySQL在5.1以上版本,理论上 Linux 的各个版本基本都能通过,如果有不能通过的情况,请别随意张口扔板砖,欢迎添加评论留言向我提问 HA对MySQL状态监控实现的方式很多,不过大多逻辑都一样,使用自己编写的脚本程序(可以是shell、php、perl等你熟悉的语言)监控mysql的运行情况,然后通过HTTP的方式输出运行结果给HA,我使用的是shell程序来实现的监控,结合 FreeBSD的inetd服务来实现监控端口的提供

Continue Reading →

Haproxy在Freebsd下不能记录日志的问题

这几天给蹦心(bengxin.com) 开发环境配置haproxy,遇到的这个问题困扰了我一个晚上,google和baidu了N次也没有找到解决办法,最后自己通读了syslogd和syslog.conf以及haproxy的log相关的man pages,经过若干次的syslogd -d (debug) ,终于在debug日志里面发现了端倪,有这么一个东西导致了日志不能正确的记录到haproxy指定的日志文件里面: validate: dgram from IP 127.0.0.1, port 49336, name localhost.bengxin.com; rejected in rule 0 due…

Continue Reading →

现在的web server,你都用什么?

LAMP叫了多年了,其实对于Apache来说,很多人都已经没有在使用了,很多人都在开始用Lighttpd和Nginx,其间的争论也很多,各种评测也不少,但是还是萝卜白菜各有所爱罢了。 在面对选择的时候,我也很困扰,实际上Apache固然是很久没用了,并非性能问题,而是感觉配置方法没有那么让我喜欢,有些臃肿,一直以来Lighttpd是我比较喜欢的,不管在配置、性能和架构方面都显得很简单,但是Lighttpd开发团队变迁问题以及1.5版的反反复复迟迟未推出,让我对Lighttpd的担忧多了一些,1.5计划要推出的对Comet的支持是我一直期待的,但是目前看来还是遥遥无期,于是就只剩下Nginx了,好在目前Nginx的开发更新还是比较快的,加上应用也越来越多,效果也不错,但是Nginx的技术架构总让我感觉有些别扭,如果说用Nginx来做Proxy或者负载均衡的辅助架构,我认为还是非常不错的。 朋友们,你们现在的网站选择的web server都什么情况呢?

Continue Reading →

Nginx和Lighttpd的Rewrite差别

简单的说,其实没啥差别,关键的一点,记住下面几个Nginx的Flags: last – 基本上都用这个Flag。 break – 中止Rewirte,不在继续匹配 redirect – 返回临时重定向的HTTP状态302 permanent – 返回永久重定向的HTTP状态301 另外,有个东西很关键,曾经折腾我好几个小时才搞定,就是Nginx里面配置 {m,n} 这样的正则规则的时候,条件必须加上双引号,否则总是报错无法通过,官方文档里面真是很难找到这些东西,很晕。

Continue Reading →

把mrtg、awstats和bugzilla都移到了lighttpd下

  今天晚饭后抽了点闲功夫,把mrtg、awstats和bugzilla都移到的lighttpd下,于是把之前单独为这几个东西跑的apache停了,全部使用lighttpd提供web服务,系统开销又能小一些。   mrtg很容易移植,几乎不用配置甚么就可以了,awstats和bugzilla都是perl的,需要配置lighttpd的cgi支持,简单的使用下面一行即可搞定awstats的移植 [coolcode] $HTTP[“url”] =~ “^/awstats/” { cgi.assign = ( “.pl” => “/usr/bin/perl”, “.cgi” => “/usr/bin/perl” ) } [/coolcode]   不过照着上面的代码设置bugzilla的时候却遇到了问题,bugzilla的每个文件里面第一行的perl命令后加入了…

Continue Reading →

Lighttpd 图片和视频等文件的防盗链处理

  用过Apache的朋友都知道mod_rewrite可以用来进行处理防盗链,Lighttpd也有同样的功能,而且总的来说,lighttpd.conf配置文件比httpd.conf更简单明了。 原来一直使用Apache来处理防盗链,今天修改了服务器上Lighttpd的配置,直接实现了防盗链,下面是防盗链部分的代码。 [coolcode] $HTTP[“referer”] !~ “^($|http://.*\.(toplee\.com|8zone\.cn))” {   $HTTP[“url”] =~ “\.(jpg|jpeg|png|gif|rar|zip|mp3)$” {     url.redirect = (“.*” => “http://www.toplee.com/blog/”)   } } [/coolcode]   懂点编程的朋友一定惊叹lighttpd的配置如此简洁明了,我非常喜欢这种风格的东西!

Continue Reading →