如何规划一个高容量的Apache服务器
为了规划一个高容量的WEB服务器,我们分成以下环节来做:
<br>一:网络环境
—— —— <br> | |(eth0:192.168.11.8) | |(eth0:a.b.c.d) <br> | A |——————--------------| B|------------->ISP <br> —— (eth1:192.168.11.5)—— <br> web.company.com firewall.company.com
<br>A是局域网内部的一台WEB服务器,安装Redhat Linux 6.X,编译Apache+PHP4+MySQL <br>B是公司防火墙,外部地址为a.b.c.d,是通向Internet的唯一路径。B上也运行Apache <br>做反向代理到内部机器B。假设公司的域名为@company.com,B是该域的域名服务器。
二:WEB目录的组织结构 <br>我们计划把WEB服务器数据文件置于一单独的目录/www下面,再在其下面建立相应的 <br>子目录,如果我们计划设置WEB服务器web.company.com,则建立目录 <br>/www/web.company.com ,结构如下:
/www/web.company.com/public/htdocs <br>/cgi-bin <br>/www/web.company.com/staging/htdocs <br>/cgi-bin <br>/www/web.company.com/developer/htdocs <br>/cgi-bin
三: 访问方法与虚拟主机 <br>对staging和developer目录用基于端口的虚拟主机来访问,分别对应端口81,82。 <br>下面是apache的配置文件/usr/local/apache/conf/httpd.conf中虚拟主机部分的 <br>配置: <br>Listen 80 <br>Listen 192.168.11.8:81 <br>Listen 192.168.11.8:82
〈VirtualHost 192.168.11.8:81> <br>documentroot /www/web.company.com/staging/htdocs/ <br>scriptalias /cgi-bin /www/web.company.com/staging/cgi-bin/ <br>transferlog "|/usr/local/apache/bin/cronolog /usr/local/apache/logs/web/staging/%Y/%m/%d/access_log" <br>errorlog "|/usr/local/apache/bin/cronolog /usr/local/apache/logs/web/staging/%Y/%m/%d/error_log" <br>〈/VirtualHost>
〈VirtualHost 192.168.11.8:82> <br>documentroot /www/web.company.com/developer/htdocs/ <br>scriptalias /cgi-bin /www/web.company.com/developer/cgi-bin/ <br>transferlog "|/usr/local/apache/bin/cronolog /usr/local/apache/logs/web/developer/%Y/%m/%d/access_log" <br>errorlog "|/usr/local/apache/bin/cronolog /usr/local/apache/logs/web/developer/%Y/%m/%d/error_log" <br>〈/VirtualHost>
注:上面是基于端口的虚拟主机设置,要访问测试服务器,用http://web.company.com:81/ <br>开发服务器用http://web.company.com:82/ <br>上面的transferlog and errorlog用了不是默认的格式,而是Apache网站上建议的这种每天 <br>一个文件的年/月/日格式,可从http://www.ford-mason.co.uk/resources/cronolog/下载编译 <br>后安装在/usr/local/apache/bin/cronolog,可查看Apache网站获得更多信息。
http://httpd.apache.org/docs/misc/FAQ.html#rotate
如还有其它主页需要在此服务器上服务,如在/www下再创建子目录hr.company.com(人事部门) <br>,可为主机A创建IP别名,如192.168.11.9,再做同样的基于端口的虚拟主机设置
三:个人主页的情况 <br>假定Apache以用户组身份nobody运行,且用户主目录为/home/jephe,则在此目录下创建目录 <br>public_html <br>a.设置用户主目录/home/jephe要给nobody组以读和执行的权限 <br>chmod 750 -R /home/jephe <br>b.设置用户主目录/home/jephe下public_html目录的权限 <br>chmod -R 2770 /home/jephe/public_html
c.设置用户主目录的拥有者 <br>chown -R jephe.nobody /home/jephe/public_html <br>用户可FTP上传主页文件至自己的目录中,要设置/etc/inetd.conf中的FTP上载的umask默认值 <br>为u002, <br>ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a -u002 <br>然后用killall -HUP inetd生效。 <br>最后用http://web.company.com/~jephe/ 访问个人主页。
四:防火墙机器B上的Apache反向代理
设置如下:
NameVirtualHost a.b.c.d
〈VirtualHost a.b.c.d> <br>servername web.company.com <br>errorlog "|/usr/local/apache/bin/cronolog /var/log/httpd/web/%Y/%m/%d/error_log" <br>transferlog "|/usr/local/apache/bin/cronolog /var/log/httpd/web/%Y/%m/%d/access_log" <br>rewriteengine on <br>rewriterule ^(/.*)$ http://192.168.11.8/$1 [P,L] <br>proxyrequests off <br>〈/VirtualHost>
五:备份 <br>用Rsync备份主目录/www/web.company.com/public/htdocs整个目录,关于如何应用RSYNC,参见 <br>文章荟萃中的其它文章,主页在rsync.samba.org
|
kehui
|
|
智慧家居
智慧家居颠覆传统智能家居
智慧云谷让智能家居变成有智慧的
智慧云谷引领智慧家居新生活
科技改变生活 智慧云谷智慧家居系
智慧家居领航者,智慧云谷助你玩
智能家居如何赢得市场美誉度?
智慧云谷智慧家居:创业者有无限
WiFi智能家居你还在用?这样的智
互联网+助推智能家居产业
智慧云谷为您打造真正的智能家居
智能家居产业需要的不是单品,而
新家如何选择开关?智慧云谷iWis
智能传感器-世界首款“智”为你的
智慧云谷开关智能安防智能空气质
智能开关品牌,如何选择智能开关
秋季干燥,智慧家居温湿度传感器
传感器助力智慧家居 感知爱家
iWiscloud智能触摸开关缔造家居装
※室内空气污染的危害及 [sensor]
※超声波风速传感器在生 [sensor]
※这么冷清 [gabc111]
※手机APP操作有问题 [ssy11407]
※智慧云谷智慧家居将在 [cici]
※上传下载 [cici]
※下载智慧家居 [apple2008]
※秋季干燥,智慧家居温 [apple2008]
※智慧家居紧扣热点 安全 [apple2008]
※办公大楼如何智慧化管 [apple2008]
※智慧云谷工业自控的优 [apple2008]
※传感器助力智慧家居 感 [apple2008]
※智能开关品牌,如何选 [apple2008]
※智慧云谷开关智能安防 [apple2008]
※没有专业人员,如何安 [apple2008]
※烟台智慧云谷董事长任 [apple2008]
※互联网+助推智能家居产 [apple2008]
※WiFi智能家居你还在用 [apple2008]
※智慧云谷智慧家居:创 [apple2008]
※智能家居如何赢得市场 [apple2008]
|