| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 服务器 > Apache教程 > 文章正文 用户登录
Blog站点如何用RS
如何优化Blog来提
如何从博客赚钱。
Web 2.0,如何创造
如何发挥Blog的互
企业如何进行博客
如何建立自己的博
如何从博客赚钱
请问如何利用博客
如何推广你的博客

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

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

作者:佚名 来源:不详 更新:2006-8-25 21:05:35 错误报告 我要投稿
为了规划一个高容量的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>

注:上面是基于端口的虚拟主机设置,要访问测试服务器,用http://web.company.com:81/
开发服务器用http://web.company.com:82/
上面的transferlog and errorlog用了不是默认的格式,而是Apache网站上建议的这种每天
一个文件的年/月/日格式,可从http://www.ford-mason.co.uk/resources/cronolog/下载编译
后安装在/usr/local/apache/bin/cronolog,可查看Apache网站获得更多信息。
http://httpd.apache.org/docs/misc/FAQ.html#rotate


如还有其它主页需要在此服务器上服务,如在/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生效。
最后用http://web.company.com/~jephe/ 访问个人主页。

四:防火墙机器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 ^(/.*)$ http://192.168.11.8/$1 [P,L]
proxyrequests off
〈/VirtualHost>

五:备份
用Rsync备份主目录/www/web.company.com/public/htdocs整个目录,关于如何应用RSYNC,参见
文章荟萃中的其它文章,主页在rsync.samba.org
文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。