March 31, 2011
在windows下玩apache-php不能不知的几个小设置
"1、PHPIniDir “D:\\PHP5″\n这样不用每次都把php.ini拷贝到C:\\Windows下\n2、set Path=D:\\PHP5;D:\\PHP5\\ext;%Path%\n这样不用每次把那些dll拷贝到C:\\Windows\\system32下"
March 31, 2011
浏览器的加载与页面性能优化
"本文将探讨浏览器渲染的loading过程,主要有2个目的:\n了解浏览器在loading过程中的实现细节,具体都做了什么 研究如何根据浏览器的实现原理进行优化,提升页面响应速度 由于loading和parsing是相互交织、错综复杂的,这里面有大量的知识点,为了避免过于发散本文将不会对每个细节都深入研究,而是将重点放在开发中容易控制的部分(Web前端和Web Server),同时由于浏览器种类繁多且不同版本间差距很大,本文将侧重一些较新的浏览器特性\n现有知识 提升页面性能方面已经有很多前人的优秀经验了,如Best Practices for Speeding Up Your Web Site和Web Performance Best Practices\n本文主要专注其中加载部分的优化,总结起来主要有以下几点:\n带宽 使用CDN 压缩js、css,图片优化 HTTP优化 减少转向 减少请求数 缓存 尽早Flush 使用gzip 减少cookie 使用GET DNS优化 减少域名解析时间 增多域名提高并发 JavaScript 放页面底部 defer/async CSS 放页面头部 避 …"
March 30, 2011
linux下svn命令大全
"svn(subversion)是近年来崛起的版本管理工具,svn服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊。不管是那种方式,都需要使用各种命令来实现。在本文中,haohtml为我们整理出来了Linux下的常用和不常用的svn命令。\n**1、**将文件checkout到本地目录\nsvn checkout path(path是服务器上的目录)\n例如:svn checkout svn://192.168.1.1/pro/domain\n简写:svn co\n**2、**往版本库中添加新的文件\nsvn add file\n例如:svn add test.php(添加test.php)\nsvn add *.php(添加当前目录下所有的php文件)\n**3、**将改动的文件提交到版本库\nsvn commit -m “LogMessage“ [-N] [–no-unlock] PATH…(如果选择了保持锁,就使用–no-unlock开关)\n例如:svn commit -m “add test file for my test“ test.php\n简写:svn ci\n4、 加锁/解 …"
March 29, 2011
Redis几个认识误区
"此文的作者是新浪微博平台架构师杨卫华(timyang)大师,如果关注了新浪一些牛人微博的同学应该知道,timyang前段时间正在对Redis进行一些研究和测试,也分享出了不少成果。下面一篇文章相信是timyang这段时间对Redis研究的一个总结,澄清了一些认识上的误区,值得一读。\n原文链接:\n前几天微博发生了一起大的系统故障,很多技术的朋友都比较关心,其中的原因不会超出James Hamilton在On Designing and Deploying Internet-Scale Service(1)概括的那几个范围,James第一条经验“Design for failure”是所有互联网架构成功的一个关键。互联网系统的工程理论其实非常简单,James paper中内容几乎称不上理论,而是多条实践经验分享,每个公司对这些经验的理解及执行力决定了架构成败。\n题外话说完,最近又研究了Redis。去年曾做过一个MemcacheDB, Tokyo Tyrant, Redis performance test,到目前为止,这个benchmark结果依然有效。这1年我们经历了很多眼花缭乱的key …"
March 29, 2011
在浏览器里试用NoSQL产品
"通常要使用某个存储设备,我们可能需要经历下载、安装、配置、启动等多个过程,然后才能开始试验具体的试用。而在我们很多 NoSQL 产品中,提供了一些非常方便的试用途径,可以让你不用安装一个自己的 Server 即可直接试用并学习其功能:\n1.try redis 在浏览器里试用Redis 地址:\n直接点击上面地址即可进入下面的界面,按提示即可进行操作。\n2.try mongo 在浏览器中试用MongoDB 进入MongoDB主页 点击主上方的 TRY IT OUT 导航,就会在本页展开如下图所示的伪shell 界面,和上面Redis的试用方式一样,你可以在这里试用MongoDB的基本操作。\n3.在浏览器中试用 CouchDB MapReduce 下面是 CouchDB 的一个试用界面,点击页面上的 documents 标签即可切换到查看目前集合中的文档,点击下方的add,即可填入 json 对象添加一行数据。\n地址:\n在维护完上面的数据集合后,可以再点击documents 右侧的 map/reduce 标签切换到书写 map 和 reduce 函数的界面,在写好 map 和 reduce …"
March 28, 2011
Apache带宽流量控制模块安装 mod_bw 配置说明
"注:这个模块在win32平台下好像不是太稳定的,有的文件可以限制,而有的文件则不行.用的是windows2003操作系统,如果有同样的问题的请,请在这里留言,请注明一下系统类型.\n官方网站:http://modules.apache.org,在里面找到一个 Bandwidth Module 的 module,模块说明文档, 点击查看mod_bw-0.说明文档9.0作者的官方网站 http://ivn.cl/apache/(Win32: http://ivn.cl/files/dlls/mod_bw-0.91-2.2.14/mod_bw.dll 可以下载到。\nInstalling step: 1. 将 mod_bw.dll 放到安装 apache 资料夹下的 modules 2. 编辑 httpd.conf,将 LoadModule bw_module modules/mod_bw.dll 加入 3. 重开 apache 4. 查看 phpinfo() 里是否有mod_bw\nConfiguration Directives: 1 – BandWidthModule [On|Off] …"
March 28, 2011
使用apache的rewrite功能来防迅雷
"不知道为什么,本来不受重视的L’Yun,却一直多灾多难,前几天空间呗停掉了,一个很以为的原因,每天将近9G的流量,晕死了,最多的一天才只有6个IP,但竟然有这么大的流量。后来查看了下日志,竟然是两首MP3引起的,每一秒钟都有人在下载。刚开始以为是百度干的,但是后来看了下在百度的位置,还不至于达到那么大的流量,然后自然而然的就想到迅雷了,看看别人的文章,可以肯定下,迅雷是个流氓!\n解决方案: 1、对服务器的攻击屏蔽后,不用理会,不会造成太大影响。 2、被百度收录的是一部分MP3,因为不希望不访问网站就直接从后台下载网站的mp3,于是增加搜索引擎访问限制。在网站根目录下放置robots.txt,内容如下: User-agent: Baiduspider Disallow: /**** *表示不允许百度搜索引擎收录的路径。相对于百度,雅虎、MSN和Google的搜索引擎机器人没有那么流氓,所以不需要屏蔽。\n3、对付迅雷。 相对于有些流氓的百度搜索引擎来说,迅雷就是恶霸了。 对于小网站站长来说,迅雷的分布式下载几乎是一种灾难。尽管迅雷给广大普通用户带来快捷方便,但给小服务器的负载带来严重灾难。 …"
March 28, 2011
windows 服务器 Apache 防止ddos攻击模块
"为了防HTTP DoS或DDos攻击,我们可能会对服务器添加很多种防护产品,可能会购买专业的DDoS硬件防火墙,当然,目前并没有一种很成熟的技术能完全封锁住DDoS攻击。但如果对于小型网站服务器来说,Apache的evasive模块是比较简单的处理方法,原理也很简单,判断一段时间内,某个IP访问的次数是否过快,如果过快,就返回403错误。\n但是官方的evasive模块发布的是源代码和linux下的RPM压缩包,虽然可以在windows使用源代码编译出这个模块来,但是由于windows系统本身的原因,几乎不会在默认的情况下安装C语言的编译环境,如果需要安装这个编译环境要安装非常多而繁杂的软件,操作起来非常不便。但是在LINUX系统下编译好的文件却不能在WINDOWS下使用,这是两个系统核心的区别,肯定不能使用。\n我在别的网站找到了WINDOWS下用的编译好的DLL文件,方便使用WINDOWS系统,同时又是Apache 2.2服务器软件的站长们使用。\n安装方法: 1、下载附件中的压缩包,解压并拷贝mod_dosevasive22.dll到Apache安装目录下的modules目录(当然也可 …"
March 24, 2011
[教程]windows下安装awstats来分析apache的访问日志
"下面的教程是在windows2003服务器下安装配置的,由于awstats是由perl程序写的,所以需要我们在安装awstats以前,需要安装ActivePerl( http://www.activestate.com/),这里安装的为 v5.10.1版本.安装路径为d:\\perl,记得要启动httpd.conf文件里的LoadModule cgi_module modules/mod_cgi.so模块.\n一.下载软件包\n从官方网站( http://awstats.sourceforge.net/)下载最新的awstats压缩包(也可以下载.exe的安装文件),这里下载的是awstats-7.0.zip压缩包.将其解压到D:\\site\\awstats-7.0目录里. 二.初始化配置环境\n打开D:/site/awstats-7.0/tools文件夹,双击执行awstats_configure.pl,根据提示输入自己apache的安装环境和httpd.conf文件所在的位置,以下为我本机的环境,如图所示:\n回车后,提示\n这里直接输入”n”,我们手动来配置就可以了,接着是两次回车就可以了.\n …"
March 24, 2011
css问题,ie6下有时候边框断断续续bug的解决l办法
"e6.0下面经常会出现border边框断断续续的问题,初学div+css 的一般不会用遇到这个问题,不过等深一步了解了div之后自然会经常碰到这种问题了,因为初学者不会偷懒,等我们觉得用的很熟了,各种浏览器都能很方便的 兼容之后就会出现这种问题,我有很多同事都碰到过这种问题,其实解决办法很简单,我先简单描述一下边框断裂的效果.\n在浏览器下一刷新边框是全的,再以刷新边框就会有断开,什么原因呢,很懊恼的事情,网上一搜也没有答案,下面我就告诉大家解决的方法,其实他是有原因的, 原因就是你的外层有边框,边框层里面嵌套的层里面有浮动,浮动这个最令人懊恼的东西经常会出问题,由于这个原因会引起ie6下面边框断裂,解决办法就是在 外层加 zoom:1; 或者 heigth:100%; 很容易就解决了这个问题。\n表现状况:窗口的边框时隐时现。。。\n发生情况:\n网上说是在一个容器中有元素浮动时容易出现,自己感觉有时内部元素把容器撑开时也会看不到边框。\n解决办法:\n如果按网上说的是因为浮动的原因的话,那么添加清除浮动则应试可以正常解决。\n另外网上的解决办法是:给窗口设置{zoom:1} or { …"