如何规划一个高容量的Apache服务器

 更新时间:2008年03月15日 18:44:21   作者:  
为了规划一个高容量的WEB服务器,我们分成以下环节来做: 一:网络环境 —— —— | |(eth0:192.168.11.8) | |(eth0:a.b.c.d) | A |——————--------------| B|------------->ISP —— (eth1:192.168.11.5)—— web.company.com firewall.company.com
A是局域网内部的一台WEB服务器,安装Redhat Linux 6.X,编译Apache+PHP4+MySQL 
B是公司防火墙,外部地址为a.b.c.d,是通向Internet的唯一路径。B上也运行Apache 
做反向代理到内部机器B。假设公司的域名为@company.com,B是该域的域名服务器。 
二:WEB目录的组织结构 
我们计划把WEB服务器数据文件置于一单独的目录/www下面,再在其下面建立相应的 
子目录,如果我们计划设置WEB服务器web.company.com,则建立目录 
/www/web.company.com ,结构如下: 
/www/web.company.com/public/htdocs 
/cgi-bin 
/www/web.company.com/staging/htdocs 
/cgi-bin 
/www/web.company.com/developer/htdocs 
/cgi-bin 
三: 访问方法与 
对staging和developer目录用基于端口的来访问,分别对应端口81,82。 
下面是apache的配置文件/usr/local/apache/conf/httpd.conf中部分的 
配置: 
Listen 80 
Listen 192.168.11.8:81 
Listen 192.168.11.8:82 
〈VirtualHost 192.168.11.8:81> 
documentroot /www/web.company.com/staging/htdocs/ 
scriptalias /cgi-bin /www/web.company.com/staging/cgi-bin/ 
transferlog "|/usr/local/apache/bin/cronolog /usr/local/apache/logs/web/staging/%Y/%m/%d/access_log" 
errorlog "|/usr/local/apache/bin/cronolog /usr/local/apache/logs/web/staging/%Y/%m/%d/error_log" 
〈/VirtualHost> 
〈VirtualHost 192.168.11.8:82> 
documentroot /www/web.company.com/developer/htdocs/ 
scriptalias /cgi-bin /www/web.company.com/developer/cgi-bin/ 
transferlog "|/usr/local/apache/bin/cronolog /usr/local/apache/logs/web/developer/%Y/%m/%d/access_log" 
errorlog "|/usr/local/apache/bin/cronolog /usr/local/apache/logs/web/developer/%Y/%m/%d/error_log" 
〈/VirtualHost> 
注:上面是基于端口的设置,要访问测试服务器,用 
开发服务器用 
上面的transferlog and errorlog用了不是默认的格式,而是Apache网站上建议的这种每天 
一个文件的年/月/日格式,可从下载编译 
后安装在/usr/local/apache/bin/cronolog,可查看Apache网站获得更多信息。 


如还有其它主页需要在此服务器上服务,如在/www下再创建子目录hr.company.com(人事部门) 
,可为主机A创建IP别名,如192.168.11.9,再做同样的基于端口的设置 
三:个人主页的情况 
假定Apache以用户组身份nobody运行,且用户主目录为/home/jephe,则在此目录下创建目录 
public_html 
a.设置用户主目录/home/jephe要给nobody组以读和执行的权限 
chmod 750 -R /home/jephe 
b.设置用户主目录/home/jephe下public_html目录的权限 
chmod -R 2770 /home/jephe/public_html 
c.设置用户主目录的拥有者 
chown -R jephe.nobody /home/jephe/public_html 
用户可FTP上传主页文件至自己的目录中,要设置/etc/inetd.conf中的FTP上载的umask默认值 
为u002, 
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a -u002 
然后用killall -HUP inetd生效。 
最后用 访问个人主页。 
四:防火墙机器B上的Apache反向代理 
设置如下: 
NameVirtualHost a.b.c.d 
〈VirtualHost a.b.c.d> 
servername web.company.com 
errorlog "|/usr/local/apache/bin/cronolog /var/log/httpd/web/%Y/%m/%d/error_log" 
transferlog "|/usr/local/apache/bin/cronolog /var/log/httpd/web/%Y/%m/%d/access_log" 
rewriteengine on 
rewriterule ^(/.*)$ [P,L] 
proxyrequests off 
〈/VirtualHost> 
五:备份 
用Rsync备份主目录/www/web.company.com/public/htdocs整个目录,关于如何应用RSYNC,参见 
文章荟萃中的其它文章,主页在rsync.samba.org

相关文章

  • Apache的Rewrite心得

    Apache的Rewrite心得

    Apache的Rewrite心得...
    2007-01-01
  • apache 配置文件解说

    apache 配置文件解说

    Apache为网络管理员提供了丰富多彩的功能,包括目录索引、目录别名、内容协商、可配置的HTTP错误报告、CGI程序的SetUID执行、子进程资源管理、服务器端图象映射、重写URL、URL拼写检查以及联机手册man等。也就是说,如果您在Linux Server上成功安装配置了Apache之后,您的计算机也将随着Apache的生效而摇身一变,成为一台名副其实的Web Server,这种变化的确是激动人心的。
    2008-03-03
  • http www安全必备知识

    http www安全必备知识

    一、前言 还记得美国为首的北约轰炸我驻南联盟使馆,大家义愤填膺但又无可奈何,于是有黑客呼吁黑美国佬的网站,很快大家纷纷学习攻击Web的方法和技巧,并且成功的黑了美国的几个军事主页,有的还挂上了五星红旗。这令美国政府十分尴尬。
    2008-03-03
  • 什么是IIS应用程序池以及应用程序池详解

    什么是IIS应用程序池以及应用程序池详解

    什么是IIS应用程序池以及应用程序池详解...
    2007-02-02
  • ffmpeg中文参数说明与使用示例

    ffmpeg中文参数说明与使用示例

    本文为大家介绍了ffmpeg中文参数说明及ffmpeg的基础使用示例
    2018-12-12
  • 大型网站高并发解决方案分析之图片服务器分离架构

    大型网站高并发解决方案分析之图片服务器分离架构

    本文讲述了大型网站高并发情况下图片服务器分离的分析与解决方案,并给出了各种图片服务器架构方案及他们的优缺点
    2018-03-03
  • Web服务器日志统计分析完全解决方案

    Web服务器日志统计分析完全解决方案

    请注意本文已刊载在《开放系统世界》2003年第二期,该文章版权属于该杂志所有,请勿随意转载,转载请保留该声明摘要:对于所有的ICP来说,除了保证网站稳定正常运行以外,一个重要的问题就是网站访问量的统计和分析报表,这对于了解和监控网站的运行状态,对提高各个网站的服务能力和服务水平是必不可少的。通过对Web服务器的日志文件进行分析和统计,能够有效掌握系统运行情况以及网站内容的受访问情况、加强对整个网站及其内容的维护与管理。本文对Web服务器日志分析的原理和技术进行讨论。
    2008-03-03
  • 查域名的MX记录

    查域名的MX记录

    查域名的MX记录...
    2006-12-12
  • 在RedHat下安装apache jserv 1.1.2方法

    在RedHat下安装apache jserv 1.1.2方法

    虽然apache jserv的开发小组现在都从事tomcat的开发,而且apache jserv只支持servlet 2.0的标准,并且要加其他的软件(gnujsp)才能支持jsp;但是apache jserv在现阶段比tomcat稳定,因此现在apache jserv+gnujsp比较适合应用于web。如果想使用servlet2.2和jsp1.1的话,请使用tomcat,参看tomcat的安装。本文介绍apache jserv 1.1.1在RedHat下的安装。
    2008-03-03
  • TOMCAT+IIS配置方法

    TOMCAT+IIS配置方法

    TOMCAT+IIS配置方法...
    2006-10-10

最新评论