almost 7 years ago

在你决定把你的个人博客程序从shared hosting搬到你新买的VPS上时,恭喜你,你会拥有完全的控制权。但是从另一方面来说,你要操心的事情也会更多了,除了要弄好你的程序之外,你还要管理好你的服务器。你需要关心CPU,关心内存,关心用掉的带宽流量。总之,你应该做任何你可以做到的事情,优化程序,服务器来获得更高的性能。

我把我的Blog架在Amazon EC2上,用的是LAMP架构,这里简单的介绍一下我用到的如何优化Apache服务器。

首先,用free -m查看一下系统的内存情况,看到我系统可用的内存不足150M(free+cached+buffered)。

删除Apache中不需要的Modules

注释掉其他所有的Module,对于一个普通的wordpress程序来说,下面的modules基本上就够了

LoadModule authz_host_module modules/mod_authz_host.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so

Apache MPM Prefork Module

对一个小型VPS来说,强烈推荐让Apache运行在Prefork模式。下面是我的一些设置

<IfModule prefork.c>
StartServers       3
MinSpareServers    3
MaxSpareServers   10
ServerLimit      50
MaxClients       50
MaxRequestsPerChild  2000
</IfModule>

关闭Keep Alive

查看KeepAlive定义,看完之后你就觉得应该KeepAlive设置为Off

缩短Timeout时间

默认的Timeout时间是120秒,对于一个个人站点来说,你应该不会需要这么长的时间来处理一个请求,因此建议缩短这个时间,我把我的设置为40秒。

结论

重启一下Apache,然后再用free -m来查看可用内存,从不足150M到将近300M了。

 

参考:Optimize Apache for Wordpress

← 2012年度计划 Why Check in failed code →