明媚一天意何为- -| 回首页 | 2005年索引 | - -GAIM:常用IM服务一网打尽【zz】

apache的部署攻略【zz】

                                      

Apache已经成为open source领域的一个成功典范,从其部署的占有率来说也已经成为互联网的一个事实标准。

 

很多人都有很多部署Apache的成功经验,囿于时间的关系,很多经验和教训没有及时总结,这里将我在一些项目中的使用经验整理一下,供项目实施中参考,也欢迎大家补充。

 

1.为什么要使用Apache?

对于大多数用Java来开发的应用来说,说服客户选择apache的理由非常充分:

2.选择安装哪个版本的Apache

Apache目前主要应用的有1.3.xx和2.0.xx(xx代表子版本号)两个版本,2.2版本今年下半年发布的,还没来得及在项目中应用。其中1.3.xx在linux/unix平台是采用进程方式运行,负载较重;2.0.xx在linux/unix上以线程/进程混合方式运行,效率很高。

我个人建议除非有特别的理由,否则只考虑2.0.xx版本。

 

3.将apache部署在什么操作系统上

优先考虑Linux,其次是Unix,windows平台也运行得不错。

对于Linux,redhat enterprise linux v3和v4都是推荐的平台,对于最新的一些64位(EM64T)的Xeon服务器来说,RHEL v4兼容性更好,性能也更优。RHEL v3使用Linux 2.4.21 kernel,RHEL v4使用Linux 2.6.9内核。

 

4.apache的编译和部署

windows平台一般安装编译好的。linux/unix一般下载源代码,然后进行编译和安装,相关的信息可以参考:http://httpd.apache.org/docs/2.0/install.html

对于大多数部署,我建议可以考虑IBM HTTP Server 6.0.1(基于apache 2.0.47,做了很多改进),IHS是IBM在apache基础上进行一些配置优化之后的发行版本,可以免费使用和分发,尤其和websphere的搭配更佳。

对于apache的编译参数不是非常熟悉的人来说,使用IHS是一个更为稳妥和可靠的方式。

 

5.apache和tomcat的协同

经常有人问我,我用了tomcat,是不是就不需要apache提供服务了呢?我通常的答案是NO,尤其是对外提供服务的应用更是如此。tomcat本身实现的HTTP服务是会占用JVM宝贵的线程池资源的,对于静态网页和图片动辄几十个并发的情况,tomcat实在吃不消,因此,我建议安装一个apache来服务静态网页和图片等,动态请求也由apache来转发,这样可以提高负载能力和性能。

 

6.apache的性能优化

这可能是最多人会问的问题:我的apache响应很慢,支持不了很多并发访问。

事实上apache具有非常出色的性能,我们在一个访问量非常大的门户网站的应用中,web服务器配置2*Xeon 700MHz CPU,2GB RAM,100Mb网卡的服务器,每台服务器每天可以处理超过1200万个点击。

apache具体的参数优化可以参考http://httpd.apache.org/docs/2.0/misc/perf-tuning.html

IHS由于在编译过程中已经做了很多优化,在IHS性能优化中,我通常会做以下三方面的调整(以下的2,3步的配置只适用于apache 2.0.xx):

 

7.apache的日志轮换实现

在32位系统上,apache的日志超过2GB会导致apache crash,另外考虑到日志每日分析的需要,通常我们需要将apache按照天存储。这里推荐一种实现方式:使用cronolog工具来实现,先将cronolog编译到/usr/sbin目录中,然后在httpd.conf中配置:

ErrorLog "|/usr/sbin/cronolog /www/log.d/%Y/%m/%d/errors.log"
CustomLog "|/usr/sbin/cronolog /www/log.d/%Y/%m/%d/access.log" common

这样日志就会以“年/月/日”的目录形式记录,这样便于归档和分析。

 

8.ErrorDocument的处理

Apache可以针对特定的错误(404,500 etc.)返回特定的出错页面,这样可以使得提示更加友好。比如对于Java应用来说,如果应用服务器(tomcat/websphere/weblogic)进程crash或者没有启动,会抛出500(Internal server error),这很不友好,我们可以利用ErrorDocument来进行处理。

Apache中文配置手册:
http://www.uplinux.com/download/doc/apache/ApacheManual/

【作者: 香山叶】【访问统计:】【2005年12月20日 星期二 11:28】【 加入博采】【打印

Trackback

你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=3936475

回复

验证码:   
评论内容: