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

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

(0)

相关推荐

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

    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/

  • 设置一个高容量的Linux POP3服务器

    一: 概述  本文旨在介绍如何使用开放源软件Procmail和Qpopper来配置一台可供大量用户使用的POP3服务器,重点在于如何保持最佳的服务器性能.  二: 步骤  软件环境为RedHat Linux 7.1  1. 下载最新版的Procmail和Qpopper  Procmail 最新版本现在是3.21 可从 http://www.procmail.org/procmail-3.21.tar.gz下载.  Qpopper 最新版本现在是4.0 可从 http://www.eudora.c

  • Apache服务器主配置文件httpd.conf详解

    apache 2.2 # This is the main Apache server configuration file. It contains the # configuration directives that give the server its instructions. # See <URL:http://httpd.apache.org/docs/2.2/> for detailed information. # In particular, see # <URL:

  • Apache服务器一个IP多个站点的配置方法示例

    在日常的网站发布中很多情况下都无法做到一个IP对应一个站点,在IP4的情况下IP的资源是相对有限的.然而作为最流行的Apache自然也考虑到这种情况,那么接下来看看apache服务器怎么配置一个IP多个站点. 在httpd.conf中找到 "# Virtual hosts",并添加如下行 复制代码 代码如下: ServerName 你的域名 HostNameLookups off 例子 NameVirtualHost 192.168.1.104 <VirtualHost 192.

  • LAMP服务器性能优化技巧之Apache服务器优化

    1.Zend Performance Suite简介 对于Apache要把 PHP 编译其中,或者采用 DSO (动态共享对象)模式,不要采用 CGI 方式.采用DSO最重要的原因是效率.Apache是模块化设计的,所以它可以加载各种各样的服务器端脚本解释器来支持动态的网页.但是随着页面访问量的增大,CGI已经不看重负,为了提高效率.所以选择把最常调用的模块编译成动态共享对象(DSO).zend出品的ZendPerformanceSuite,这是一个Apache服务器的性能测试和优化的工具.可以

  • linux Apache服务器系统安全设置与优化第1/3页

    Apache服务器的设置文件位于/usr/local/apache/conf/目录下,传统上使用三个配置文件httpd.conf, access.conf和srm.conf, 来配置Apache服务器的行为.httpd.conf提供了最基本的服务器配置,是对守护程序 httpd如何运行的技术描述;srm.conf是服务器的资源映射文件,告诉服务器各种文件的MIME类型,以及如何支持这些文件; access.conf用于配置服务器的访问权限,控制不同用户和计算机的访问限制;这三个配置文件控制着服务

  • 优化Apache服务器性能的方法小结

    测试与提高性能 Apache服务器已经被设计得尽可能的快,即使你用一台配置不高的机器,用不着进行太复杂的设置,它的响应内容就足以塞满以前的各种窄带连接.但随网站内容日益复杂和带宽的增加,对Apache进行优化以取得更好的性能变得日益重要起来. 如果优化的结果仅仅是极小的性能提升那真是浪费时间.试想一下,你花了好几个小时甚至几天调整Apache的各种参数但结果仅是几个百分点的性能提升?因此,在优化前你做的第一步应该是测试你目前的服务器的性能水平以便决定如何优化你的服务器并衡量优化的效果. 关于对A

  • 在Apache服务器上利用Varnish优化移动端访问的方法

    想象一下,你刚刚发布了一篇博文,并分享到了社交网络.然后,这篇文章恰巧被大V看中再次分享了出去,立即吸引了数百粉丝的目光,引导他们涌入了你的网站.看到这么多的访客量,以及它们的评论,你内心激动不已.突然之间,你的网站就挂掉了,满屏的数据连接错误-- 或者假想另一种情境,你一直很努力地创业.突然有一天,一个大V在社交网络表达了对贵公司的喜爱之情,字里行间满满的赞叹.关注这个大V的粉丝心动了,又涌入了你的网站.不幸的是,点击连接后却无法进入你的网站,或者进入后无法注册用户,甚至页面相应超时,无法获取

  • apache服务器全局配置详解(全)

    Apache服务器全局配置之服务器标识配置篇 服务器标识相关指令:ServerNameServerAdminServerSignatureServerTokensUseCanonicalNameUseCanonicalPhysicalPort ServerAdmin和ServerTokens指令控制有关服务器的哪些信息将出现在服务器生成的文档中(如错误消息).ServerTokens指令设置服务器HTTP响应头字段的值.ServerName.UseCanonicalName. UseCanoni

  • 基于win2003虚拟机中apache服务器的访问

    虽然在win2003配置PHP有点非主流,但你还是要会怎么弄.你也可以将本文的虚拟机看成是服务器,宿主机看成是客户端. 不像Linux系统,由于win2003有IIS的存在,占有了固有的80的端口,在win2003虚拟机中配置的apache服务器常常被迫改成其它端口,比如8081,有时候,如果你想在宿主机或者外网访问win2003下配置在apache下的php,可能会出现ping是能ping通,但无法访问的情况. 首先在虚拟机中,通过ipconfig得知虚拟机win2003的IP地址. 然后在宿

随机推荐