你在这里


Squid

关闭Squid反向代理

James Qi 2013年7月12日 - 09:41 发布

  最近一段时间国内、国外的多台服务器都不太平,硬件、软件故障此起彼伏,搞得人疲于应付,不断在各台服务器之间临时转移网站并应对服务器负载方面的问题。

  到昨天终于算是把一些临时放在其它服务器(22、181)上的网站基本都迁移回返修重新上架的服务器(17),重装系统后有好些细节(例如MySQL版本、文件权限、PHP版本、phpmyadmin的运行)会出现问题,还有不少后续工作要进行。

  17服务器这次更换电源、硬盘后重新安装系统,就没有再使用Squid做反向代理缓存加速,直接让Apache应对Web访问,这样也不需要再在MediaWiki的LocalSettings.php和Drupal的settings.php中设置proxy,另外新部署的防采集程序也可以准确获取来源IP。

  为了在更多的服务器上都部署防采集程序并简化、统一服务器的设置,昨天晚上把22服务器的Squid也停掉了,步骤:

自由标签:

关闭MediaWiki File Cache、Drupal Boost、Squid等缓存

James Qi 2013年3月18日 - 15:17 发布

  从用MediaWiki做网站开始,服务器负载一直就是个问题,为了解决这个问题,我们添加了各种缓存,如MediaWiki的多种缓存机制,包括File Cache,也加上了外部的Squid。后来做Drupal网站并不需要Squid,但因为服务器上已经安装了Squid,我们也只好把Drupal架设在Squid之后,另外Drupal也采用了内部core缓存和Boost缓存。

  这些缓存机制可以解决不少问题,但缓存主要对数据量小、每页访问多的网站有明显效果,而对于数据量很大、每页访问少的网站起不到明显效果,有时甚至因为缓存文件过多起到反效果,而且缓存更新机制也有些小问题。

  上周在升级Drupal 6网站的时候,我们把大数据量的网站Boost缓存都去掉了,这样才方便升级。

Apache中设置屏蔽IP地址和URL网址来禁止采集

James Qi 2012年11月23日 - 11:31 发布

  只要是建有数据量比较多的网站,几乎不可避免采集的情况,这方面我们已经有多年的对付经验,主要是通过分析Web访问日志,找到采集的规律,相应来设置屏蔽IP地址或者URL网址来解决。

  国内的Linux服务器上我们都安装了Squid作为Apache的前端缓存,所以我们遇到采集的情况就分析Squid的日志,在squid.conf文件中进行设置屏蔽,然后重启Squid服务就可以。

  近期租用的国外Linux服务器上默认是没有Squid的,我们也就只用了Apache作为Web服务器,修改了httpd.conf来让Apache的日志文件显示更详细的虚拟主机域名、User-Agent等信息,以便遇到采集的情况可以分析。

  前一阵子遇到来自固定某个或者某段IP的采集,我们就修改httpd.conf文件,在影响的主机设置中添加这样的代码:

Order Deny,Allow
Deny from 125.115.2.85
Deny from 91.228.196.234

  然后重启Apache服务就可以。

扩充内存容量,将缓存文件、交换文件、临时文件转到内存

James Qi 2011年5月7日 - 20:12 发布

  在换用16核CPU、16G内存的服务器后,发现7200转硬盘不给力,就增加了多块10000转的迅猛龙硬盘,一台服务器上的4块硬盘分别放置系统及备份文件、Squid缓存文件、MySQL文件、Apache和HTML缓存文件,这样一般访问都不会有什么压力。

  但在我们持续导入数据、批量修改模板的过程中,发现放置Squid缓存文件的硬盘有时占用达到100%,影响正常访问,于是我们修改Squid设置文件,只使用几个G内存作为Web反向加速的缓存,关闭了几十G、上百G的Squid磁盘缓存,这样可以避免大量小文件的寻道操作。

  接下来又发现系统盘也偶尔发生占用100%的情况,这时更是影响服务器上所有网站的访问,先以为是交换内存(Swap)的问题,用swapoff -a关闭了所有磁盘交换文件。

延长Squid和文件缓存时间,减轻服务器负载压力

James Qi 2011年2月14日 - 09:25 发布

  在以前的MediaWiki所建站点中,我们启用了外部的Squid缓存和MediaWiki本身的File Cache两种页面缓存方式。

  File Cache设置成时间无限长,只有页面或者包含的模板变化时才会更新,这项设置对缓解服务器压力起到了关键作用,如果不启用的话,网站很快就会变得无法访问。缓存的更新问题也基本上还好,在正常控制下工作。

  MediaWiki软件默认的Squid缓存时间是5个小时,我们早就改成了24小时,不过考虑到我们很多网站的页面其实变化率很低,多数几个月都不会变动,其实是可以设置成更长的。我最近进行了设置修改,将Squid缓存的最长时间从1天改为了10天。如果是页面有变化,应该也会马上通过purge命令来让Squid更新的,不会造成延误影响。

订阅 RSS - Squid