频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

RedHat6.2服务器配置方案大全(二):Apache

来源: 作者: 出处:巧巧读书 2007-10-03 进入讨论组

 
  作者:汤海京
  
  第二章 Apache
  2.1 简 介
    Apache是世界排名第一的Web服务器,根据著名的Web服务器调查公司Netcraft的调查,世界上百分之五十以上的Web服务器都在使用Apache。
  

    纵观Apache,它为我们的网络管理员提供了丰富多彩的功能,包括目录索引、目录别名、内容协商、可配置的HTTP错误报告、CGI程序的 SetUID执行、子进程资源管理、服务器端图象映射、重写URL、URL拼写检查以及联机手册man等。也就是说,如果您在Linux Server上成功安装配置了Apache之后,您的计算机也将随着Apache的生效而摇身一变,成为一台名副其实的Web Server,这种变化的确是激动人心的。伴随着自由软件发展的强大动力,我们有理由相信Apache的未来是一片光明的。
  
    在Internet时代,外部主页的发布已经成为树立公司形象的一个重要手段,而内部主页也成为公司管理的主要方式。但是,要想实现这些功能,首先应该把我们的Linux Server配置成为一台强大的Web Server。时至今日,全球应用最广泛的Web服务器软件就是Apache,本章将详细介绍如何配置Apache服务器。希望各位同仁能够通过阅读本片文章达到理论实践双丰收的目的,在很短的时间里迅速成为一名出色的网络管理员。
  
  2.2 所需系统资源
    2.2.1 配置文件
  
    文件              来源
  
    /etc/httpd/conf/httpd.conf   apache-1.3.12-2.i386.rpm
  
    /etc/httpd/conf/access.conf   apache-1.3.12-2.i386.rpm
  
    /etc/httpd/conf/srm.conf    apache-1.3.12-2.i386.rpm
  
    2.2.2相关工具:
  
    文件              来源
  
    /etc/rc.d/init.d/httpd     apache-1.3.12-2.i386.rpm
  
  2.3 配置方案
    与Apache配置相关的文件共有3个:
  
    /etc/httpd/conf/httpd.conf 主配置文件
  
    作用:定义HTTP协议的设置值和针对该服务器的操作,还包括定义三个文件的目录
  
    实例:
  
    ServerType standalone
  
    #定义WebServer的启动方式为standalone,以增强其对大量访问的及时响应性
  
    ServerRoot "/etc/httpd"
  
    #指定包含httpd服务器文件的目录
  
    LockFile /var/lock/httpd.lock
  
    PidFile /var/run/httpd.pid
  
    ScoreBoardFile /var/run/httpd.scoreboard
  
    Timeout 300
  
    #响应超时量,单位为秒
  
    KeepAlive On
  
    #允许用户建立永久连接
  
    MaxKeepAliveRequests 100
  
    KeepAliveTimeout 15
  
    MinSpareServers 5
  
    #要保留的空闲服务器进程的最小值
  
    MaxSpareServers 20
  
    #要保留的空闲服务器进程的最大值
  
    StartServers 8
  
    #系统启动时的守护进程数
  
    MaxClients 150
  
    #所能提供服务的最大客户端编号,大于它的部分被放入请求队列之中
  
    MaxRequestsPerChild 100
  
    LoadModule vhost_alias_module modules/mod_vhost_alias.so
  
    LoadModule env_module modules/mod_env.so
  
    LoadModule config_log_module modules/mod_log_config.so
  
    LoadModule agent_log_module modules/mod_log_agent.so
  
    LoadModule referer_log_module modules/mod_log_referer.so
  
    LoadModule mime_module modules/mod_mime.so
  
    LoadModule negotiation_module modules/mod_negotiation.so
  
    LoadModule status_module modules/mod_status.so
  
    LoadModule info_module modules/mod_info.so
  
    LoadModule includes_module modules/mod_include.so
  
    LoadModule autoindex_module modules/mod_autoindex.so
  
    LoadModule dir_module modules/mod_dir.so
  
    LoadModule cgi_module modules/mod_cgi.so
  
    LoadModule asis_module modules/mod_asis.so
  
    LoadModule imap_module modules/mod_imap.so
  
    LoadModule action_module modules/mod_actions.so
  
    LoadModule userdir_module modules/mod_userdir.so
  
    LoadModule alias_module modules/mod_alias.so
  
    LoadModule rewrite_module modules/mod_rewrite.so
  
    LoadModule access_module modules/mod_access.so
  
    LoadModule auth_module modules/mod_auth.so
  
    LoadModule anon_auth_module modules/mod_auth_anon.so
  
    LoadModule db_auth_module modules/mod_auth_db.so
  
    LoadModule digest_module modules/mod_digest.so
  
    LoadModule proxy_module modules/libproxy.so
  
    LoadModule expires_module modules/mod_expires.so
  
    LoadModule headers_module modules/mod_headers.so
  
    LoadModule usertrack_module modules/mod_usertrack.so
  
    LoadModule setenvif_module modules/mod_setenvif.so
  
    LoadModule perl_module modules/libperl.so
  
    LoadModule php3_module modules/libphp3.so
  
    ClearModuleList
  
    AddModule mod_vhost_alias.c
  
    AddModule mod_env.c
  
    AddModule mod_log_config.c
  
    AddModule mod_log_agent.c
  
    AddModule mod_log_referer.c
  
    AddModule mod_mime.c
  
    AddModule mod_negotiation.c
  
    AddModule mod_status.c
  
    AddModule mod_info.c
  
    AddModule mod_include.c
  
    AddModule mod_autoindex.c
  
    AddModule mod_dir.c
  
    AddModule mod_cgi.c
  
    AddModule mod_asis.c
  
    AddModule mod_imap.c
  
    AddModule mod_actions.c
  
    AddModule mod_userdir.c
  
    AddModule mod_alias.c
  
    AddModule mod_rewrite.c
  
    AddModule mod_access.c
  
    AddModule mod_auth.c
  
    AddModule mod_auth_anon.c
  
    AddModule mod_auth_db.c
  
    AddModule mod_digest.c
  
    AddModule mod_proxy.c
  
    AddModule mod_expires.c
  
    AddModule mod_headers.c
  
    AddModule mod_usertrack.c
  
    AddModule mod_so.c
  
    AddModule mod_setenvif.c
  
    AddModule mod_perl.c
  
    AddModule mod_php3.c
  
    Port 80
  
    #定义服务器所使用的TCP的端口号
  
    User nobody
  
    Group nobody
  
    #以上两行是分配给httpd的新用户的文件权限,出于安全的考虑把它们的权限设置成为最低。
  
    ServerAdmin root@localhost
  
    #设置Web管理员的邮件地址
  
    ServerName thj
  
    #定义客户端从服务器读取数据时返回给客户端的主机名,其缺省值是localhost
  
    DocumentRoot "/home/httpd/html"
  
    #设置所有Apache所提供的文档的根目录,比如说,用户对www.mycompany.com/index.html的访问请求,Apache对它的响应就是/home/httpd/html/index.html
  
    UserDir public_html
  
    DirectoryIndex index.html index.htm index.shtml index.cgi
  
    #设置多种成功访问主页的方式,为的是提高系统的容错性
  
    AccessFileName .htaccess
  
    UseCanonicalName On
  
    TypesConfig /etc/mime.types
  
    DefaultType text/plain
  
    HostnameLookups Off
  
    ErrorLog /var/log/httpd/error_log
  
    LogLevel warn
  
    #定义那些错误类型被记录到错误日志中
  
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
  
    #所有的LogFormat都用来定义日志中的条目
  
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
  
    LogFormat "%{Referer}i -> %U" referer
  
    LogFormat "%{User-agent}i" agent
  
    CustomLog /var/log/httpd/access_log common
  
    ServerSignature On
  
    Alias /icons/ "/home/httpd/icons/"
  
    ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"
  
    IndexOptions FancyIndexing
  
    AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
  
    AddIconByType (TXT,/icons/text.gif) text/*
  
    AddIconByType (IMG,/icons/image2.gif) image/*
  
    AddIconByType (SND,/icons/sound2.gif) audio/*
  
    AddIconByType (VID,/icons/movie.gif) video/*
  
    AddIcon /icons/binary.gif .bin .exe
  
    AddIcon /icons/binhex.gif .hqx
  
    AddIcon /icons/tar.gif .tar
  
    AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
  
    AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
  
    AddIcon /icons/a.gif .ps .ai .eps
  
    AddIcon /icons/layout.gif .html .shtml .htm .pdf
  
    AddIcon /icons/text.gif .txt
  
    AddIcon /icons/c.gif .c
  
    AddIcon /icons/p.gif .pl .py
  
    AddIcon /icons/f.gif .for
  
    AddIcon /icons/dvi.gif .dvi
  
    AddIcon /icons/uuencoded.gif .uu
  
    AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
  
    AddIcon /icons/tex.gif .tex
  
    AddIcon /icons/bomb.gif core
  
    AddIcon /icons/back.gif ..
  
    AddIcon /icons/hand.right.gif README
  
    AddIcon /icons/folder.gif ^^DIRECTORY^^
  
    AddIcon /icons/blank.gif ^^BLANKICON^^
  
    DefaultIcon /icons/unknown.gif
  
    ReadmeName README
  
    HeaderName HEADER
  
    IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
  
    AddEncoding x-compress Z
  
    AddEncoding x-gzip gz tgz
  
    AddLanguage en .en
  
    AddLanguage fr .fr
  
    AddLanguage de .de
  
    AddLanguage da .da
  
    AddLanguage el .el
  
    AddLanguage it .it
  
    LanguagePriority en fr de
  
    AddType application/x-tar .tgz
  
    AddType text/html .shtml
  
    AddHandler server-parsed .shtml
  
    AddHandler imap-file map
  
    BrowserMatch "Mozilla/2" nokeepalive
  
    BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
  
    BrowserMatch "RealPlayer 4\.0" force-response-1.0
  
    BrowserMatch "Java/1\.0" force-response-1.0
  
    BrowserMatch "JDK/1\.0" force-response-1.0
  
    Alias /doc/ /usr/doc/
  
    CacheSize 5
  
    #定义缓存区大小,以KB为单位。可以根据需要和硬盘空间大小进行设置
  
    CacheGcInterval 4
  
    #每隔4小时检查缓存区,如果已经超过CacheSize就删除文件
  
    CacheMaxExpire 24
  
    #HTTP文件最多被保持24小时
  
    CacheLastModifiedFactor 0.1
  
    #定义HTTP文件失效期,缺省是0.1 ,意思是说失效期=离最近一次修改的时间X〈factor〉,比如离最近一次修改的时间是5小时,那么失效期就是5X0.1=0.5小时
  
    CacheDefaultExpire 1
  
    #这一指令提供一个缺省的时间(小时)来销毁缓存的文件,这些文件的最后更改时间不详。CacheMaxExpire 命令不覆盖这一设置
  
  2.4 测试及管理方法
    1.每当管理员更改了Apache的设置之后,都应执行/etc/rc.d/init.d/httpd restart使得更改生效。
  
    2.Apache提供大量的日志文件,当Apache出错的时候,管理员可以根据htppd.conf中的ErrorLog定义的路径来诊断。具体方法是:tail -f /var/log/httpd/apache/error_log
  
  2.5 本章小结
    Web服务是Internet服务器最基本的服务,Linux发行版中包含的Apache软件是性能优良的Web服务器,也是Internet上最流行的Web服务器,由于它时刻都经历着无数使用者的测试,所以现行的Apache的默认选项已经是十分适合我们大家的了,你只需要更改其中几个与当前应用环境紧密相关的选项就可以达到你的目的了。
  

 

 来源:蓝森林

图 文 结 合:http://www.qqread.com/linux/2006/06/e521123061.html 更多文章 更多内容请看FTP服务器双核服务器技术服务器存储专栏专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章