Apache的主要目录和配置文件详解

Include conf.d/*.conf
加载的布局文件

<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000
</IfModule>
系统私下认可的模块,表示为各样访谈运转二个进程(即当有八个一而再公用多少个进程的时候,在同样时刻只可以有二个到手劳动)。
StartServer初始服务时起步8个进度,最小空闲5个经过,最多空闲十多少个经过。
马克斯Client节制同有时刻顾客端的最第Billy斯接需要数量超越的要跻身等候队列。
马克斯RequestsPerChild每一个进度生存期内允许服务的最大央浼数量,0意味着并不是完工

模块目录
[root@apache]# ls -l manual/     # apache的模块目录 如php mencache
total 2984
-rw-r–r– 1 root root   543 May  6  2008 bind.html
-rw-r–r– 1 root root 11422 Jan  3  2012 bind.html.de

<IfModule mod_userdir.c>
    UserDir disabled
</IfModule>
是不是同意客商访谈其家目录,暗许是不允许

AccessFileName .htaccess    
#概念各样目录下的访谈调节文件名,缺省为.htaccess

Timeout 60
服务器与客商端断开的日子

#CustomLog logs/access_log common
CustomLog logs/access_log combined
说几天前志记录的位置,这里面使用了相对路线,所以ServerRoot必要提出,日志地点就寄放在/etc/httpd/logs

ErrorLog logs/error_log   #不当日志寄存之处
LogLevel warn    #Apache日志的品级

DefaultType text/plain   #暗许的网页的项目

ServerTokens OS
在产出谬误页的时候是否出示服务器操作系统的名号,ServerTokens
Prod为不展现

<Directory “/var/www/html”>
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
对/var/www/html目录的一个权力的设置,options中Indexes表示当网页一纸空文的时候允许索引展现目录中的文件,FollowSymLinks是还是不是同意访问标记链接文件。有的选用有ExecCGI表是还是不是使用CGI,如Options 
Includes ExecCGI 
FollowSymLinks表示同意服务器施行CGI及SSI,禁绝列出目录。SymLinksOwnerMatch表示当符号链接的文本和指标文件为同生机勃勃顾客所有时才允许访谈。AllowOverrideNone表示不允许那一个目录下的采访调节文件来改换这里的安插,那也意味不用查看那么些目录下的访谈调控文件,改革为:AllowOverride 
All 
代表允许.htaccess。Order对页面包车型大巴访谈调整顺序前边的后生可畏项是私下认可选项,如allow,deny则暗中同意是deny,Allowfromall表示同意全体的顾客,通过和上黄金年代项组成能够调节对网址的访问调节

LoadModule auth_basic_module modules/mod_auth_basic.so
……
LoadModule version_module modules/mod_version.so
运转时加载的模块

<Directory “/var/www/icons”>
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
概念对/var/www/icons/的权限,改良为 Options MultiViews
FollowSymLinks表示不在浏览器上显得树状目录结构

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
加上对上述三种文件的施用

conf配置文件目录
[root@htdocs]# ls ../conf/
extra  httpd.conf  magic  mime.types  original
/application/apache/conf/         # apache配置全数的布置文件目录
|– extra                         # 额外的apache配置文件目录
如:httpd-vhost.conf
|   |– httpd-autoindex.conf      
|   |– httpd-dav.conf
|   |– httpd-default.conf
|   |– httpd-info.conf
|   |– httpd-languages.conf
|   |– httpd-manual.conf
|   |– httpd-mpm.conf
|   |– httpd-multilang-errordoc.conf
|   |– httpd-ssl.conf
|   |– httpd-userdir.conf
|   |– httpd-vhosts.conf
|– httpd.conf                     # apache主配置文件
|– magic
|– mime.types
|– original
|   |– extra
|   |   |– httpd-autoindex.conf
|   |   |– httpd-dav.conf                 # dav支持配置
|   |   |– httpd-default.conf             #
那几个文件里陈设的是apache的有关服务参数:超时时间、保持链接
|   |   |– httpd-info.conf
|   |   |– httpd-languages.conf           # 语言帮衬
|   |   |– httpd-manual.conf
|   |   |– httpd-mpm.conf #
服务器池管理,也是优化apache的一个配备文件(apache的方式以至配置链接数,常用形式为worker格局和profork模式,私下认可porfork)
|   |   |– httpd-multilang-errordoc.conf
|   |   |– httpd-ssl.conf                 # 提供apache
ssl帮衬配置文件
|   |   |– httpd-userdir.conf
|   |   |– httpd-vhosts.conf              # 虚拟机的安插文件
|   |– httpd.conf

PidFile run/httpd.pid
记录httpd守护进度的pid号码,这是系统识别贰个进度的艺术,系统中httpd进程能够有多个,但以此PID对应的经过是其他的父进度

#AddType application/x-tar .tgz  
#支撑的应用若是想扶持对php的分析增添那样风流倜傥行

AddLanguage ca .ca
……
AddLanguage zh-TW .zh-tw
累计语言

ServerAdmin root@localhost   
#管理员的邮箱,如若现身难点,会在首页展现

三、httpd-vhosts.conf虚构主机配置文件注释
[root@extra]# egrep -v “^.*#|^$” httpd-vhosts.conf |nl
     1  NameVirtualHost *:80                                #
基于名称的虚拟主机配置( *:80意味着监听本机全部ip)
     2  <VirtualHost *:80>                                  #
定义二个设想主机
     3      ServerAdmin webmaster@dummy-host.example.com    #
配置管理员邮箱
     4      DocumentRoot
“/application/apache2.2.22/docs/dummy-host.example.com”  #
程序的站点目录
     5      ServerName dummy-host.example.com               #
域名服务,供给apache mode_alias模块扶持
     6      ServerAlias www.dummy-host.example.com          #
设想主机别名
     7      ErrorLog “logs/dummy-host.example.com-error_log”#
错误的日记路线
     8      CustomLog “logs/dummy-host.example.com-access_log” common
 #访谈日志配置(生产意况我们用combined格式替代common格式)
     9  </VirtualHost>
    10  <VirtualHost *:80>
    11      ServerAdmin webmaster@dummy-host2.example.com
    12      DocumentRoot
“/application/apache2.2.22/docs/dummy-host2.example.com”
    13      ServerName dummy-host2.example.com
    14      ErrorLog “logs/dummy-host2.example.com-error_log”
    15      CustomLog “logs/dummy-host2.example.com-access_log”
common
    16  </VirtualHost>

启航服务后转移的地位,在运营服务时日常以root身份,然后调换身份,那样扩张系统安全

<Files ~ “^.ht”>
    Order allow,deny
    Deny from all
    Satisfy All
</Files>
决定不让web上的客户来查看.htpasswd和.htaccess那八个文件

<Directory />     #作为对根目录的约束
    Options FollowSymLinks   #
followsymlinks代表同意利用标记链接,默以为禁止使用
    AllowOverride None     #
表示禁绝客商对目录配置文件(.htaccess举办改变)重载,普通站点不提出拉开
</Directory>

#ErrorDocument 404 /missing.html  
#当服务器现身404八花九裂的时候,再次来到missing.html页面
Alias /error/ “/var/www/error/”   #赋值别称

<IfModule mod_dav_fs.c>
     # Location of the WebDAV lock database.
     DAVLockDB /var/lib/dav/lockdb
</IfModule>
对mod_dav_fs.c模块儿的田间处理

#EnableSendfile off
其一命令调控httpd是还是不是能够利用操作系统内核的sendfile帮助来将文件发送到客商端。暗中认可情状下,当管理一个号召并无需访谈文件之中的多寡时(比方发送一个静态的文书内容),若是操作系统援救,Apache将采用sendfile将文件内容一直发送到顾客端而并不读取文件

ScriptAlias /cgi-bin/ “/var/www/cgi-bin/”  
#对CGI模块儿的的别称,与Alias相仿

<IfModule mod_mime_magic.c>
#   MIMEMagicFile /usr/share/magic.mime
     MIMEMagicFile conf/magic
</IfModule>
点名剖断文件真实MIME类型作用的模块

<IfModule worker.c>
StartServers         4
MaxClients         300
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25
MaxRequestsPerChild  0
</IfModule>
为Apache配置线程访谈,即每对WEB服务会见运维叁个线程,那样对内部存款和储蓄器占用率超级小。
ServerLimit服务器允许配置过程数的上限。
ThreadLimit每一种子进度大概安插的线程上限
StartServers运行五个httpd进度,
马克斯Clients同时最多能发起249个访谈,当先的要进来队列等待,其大小有ServerLimit和ThreadsPerChild的乘积决定
ThreadsPerChild各样子进度生存时期常驻试行线程数,子线程建构之后将不再扩张
马克斯RequestsPerChild各种进程运行的最大线程数,如达到节制数时经过将结束,如置为0则子线程永不截至

五、Apache服务目录结构表达
[root@htdocs]# ls ../
 bin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs
 man  manual  modules
bin运维文件目录表明
|– bin                    # apache服务的命令目录
|   |– ab                 # http服务天性测验工具
|   |– apachectl          # apache运维命令
|   |– apr-1-config      
|   |– apu-1-config
|   |– apxs               #
http服务编写翻译和安装扩充模块使用工具,在DSO情势模块编写翻译时用到
|   |– checkgid
|   |– dbmmanage
|   |– envvars
|   |– envvars-std
|   |– htcacheclean       # 清理磁盘缓冲区的调整命令
|   |– htdbm
|   |– htdigest
|   |– htpasswd           # 建立和换代为主声明文件
|   |– httpd              # httpd为apache的调控命令程序
|   |– httxt2dbm
|   |– logresolve
|    — rotatelogs         #
apache自带的日子轮询命令(cronolog生产条件使用非常多)。

Alias /icons/ “/var/www/icons/”  
#概念一些不在DocumentRoot下的文书,而得以将其映射到网页根目录中,那也是拜访别的目录的风姿浪漫种格局,但在宣称的时候切记目录后边加”/”

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
…..
设置特殊的参数,以确定保障对老版本浏览器的相配,并帮助新浏览器的风味

LogFormat “%h %l %u %t “%r” %>s %b “%{Referer}i”
“%{User-Agent}i”” combined
LogFormat “%h %l %u %t “%r” %>s %b” common
LogFormat “%{Referer}i -> %U” referer
LogFormat “%{User-agent}i” agent
概念了日志的格式,并用差别的代号表示

ServerSignature On   
#概念当用户央求的网页空头支票,或然失实的时候是不是提醒apache的本子的有个别新闻

<IfModule mod_negotiation.c>
<IfModule mod_include.c>
    <Directory “/var/www/error”>
        AllowOverride None
        Options IncludesNoExec
        AddOutputFilter Includes html
        AddHandler type-map var
        Order allow,deny
        Allow from all
        LanguagePriority en es de fr
        ForceLanguagePriority Prefer Fallback
    </Directory>
对/var/www/error网页的权能及操作

UseCanonicalName Off
假诺客商端提供了主机名和端口,Apache将会使用客户端提供的这几个新闻来创设自引用UPRADOL。那几个值与用于落到实处基于域名的设想主机的值相近,并且对于相似的客商端可用。CGI变量SE奥迪Q5VE中华V_NAME和SERVER_PORT也会由客户端提供的值来创设

Listen 80
监听的端口,如有多块网卡,暗中同意监听全部网卡

ServerRoot “/etc/httpd”
用于钦定Apache的周转目录,服务运行以后自动将引得改正为当前目录,在后面使用到的富有相对路线都是想对那几个目录下

#EnableMMAP off
是或不是允许内部存款和储蓄器映射:假若httpd在传递进程中要求读取贰个文书的剧情,它是还是不是能够利用内部存储器映射。假若为on表示假诺操作系统支持的话,将运用内部存款和储蓄器映射。留意气风发部分多核管理器的系统上,这说不定会下滑质量,倘若在挂载了NFS的DocumentRoot上只要展开此项功效,可能引致因为分段而变成httpd崩溃

日记贮存目录
[root@es apache]# tree logs
logs                 #
apache服务私下认可的日志路线,包含错误日志和做客日志
|– access_log       # apache服务拜见日志 tail
-f命令能够查阅网页客商访谈的音信
|– cgisock.16406    
|– error_log        # apache服务的失实日志。如:apache服务运营故障
|– httpd.pid        #
httpd的pid文件,http进度运营后,会把持有进度的id号写到此文件

#ServerName www.example.com:80
暗中认可是不供给钦命的,服务器通过名字深入解析进度来博取自身的名字,但只要言之有序反常(如反向解析不精确),恐怕未有DNS名字,也得以在此地钦点IP地址,当那项不科学的时候服务器不可能正常运营。前边运维Apache时候提醒正在运维 
httpd:httpd: apr_sockaddr_info_get() failed forjustin httpd: Could
not  reliably determine the server’s fully qualified domain name, using 
127.0.0.1forServerName,消除方式正是运行该项把www.example.com:80纠正为团结的域名照旧直接改造为localhost

#NameVirtualHost *:80  
#固然启用虚构主机的话,必得将日前的解说去掉,并且,第四局部的源委都足以出以后各样设想主机部分。
# VirtualHost example:
#<VirtualHost *:80>
#    ServerAdmin webmaster@www.linuxidc.com
#    DocumentRoot /www/docs/www.linuxidc.com
#    ServerName www.linuxidc.com
#    ErrorLog logs/www.linuxidc.com-error_log
#    CustomLog logs/www.linuxidc.com-access_log common
#</VirtualHost>
www.linuxidc.com替换为您的网站

<Directory “/var/www/cgi-bin”>
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
对/var/www/cgi-bin文件夹的管理,方法同上

二、Apache扩充的计划文件
$APACHE_HOME/conf/extra          # apache扩展的布局文件
[root@extra]# ll
total 56
-rw-r–r– 1 root root  2859 Jan 10 01:49 httpd-autoindex.conf
-rw-r–r– 1 root root  1753 Jan 10 01:49 httpd-dav.conf
-rw-r–r– 1 root root  2344 Jan 10 01:49 httpd-default.conf
-rw-r–r– 1 root root  1103 Jan 10 01:49 httpd-info.conf
-rw-r–r– 1 root root  5078 Jan 10 01:49 httpd-languages.conf
-rw-r–r– 1 root root   932 Jan 10 01:49 httpd-manual.conf
-rw-r–r– 1 root root  3789 Jan 10 01:49 httpd-mpm.conf
-rw-r–r– 1 root root  2207 Jan 10 01:49
httpd-multilang-errordoc.conf
-rw-r–r– 1 root root 11185 Jan 10 01:49 httpd-ssl.conf
-rw-r–r– 1 root root   817 Jan 10 01:49 httpd-userdir.conf
-rw-r–r– 1 root root  1507 Jan 10 01:49 httpd-vhosts.conf #
设想主机配置文件

MaxKeepAliveRequests 100
意味着叁个三回九转的最大央浼数

生机勃勃、Apache 主要配置文件注释
Apache的主配置文件:/etc/httpd/conf/httpd.conf
私下认可站点主目录:/var/www/html/
Apache服务器的配备消息全体囤积在主配置文件/etc/httpd/conf/httpd.conf中,那么些文件中的内容非常多,用wc命令总计划生育龙活虎共有1009行,在那之中山高校部分是以#起始的注释行。

AddDefaultCharset UTF-8  #暗中同意帮助的言语

#AddHandler cgi-script .cgi   #修改为:AddHandler cgi-script .cgi .pl
表示同意扩大名称为.pl的CGI脚本运维
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
增加动态管理项目为server-parsed由服务器预先深入分析网页内的符号,将标识改为正确的HTML标志

DirectoryIndex index.html index.html.var   
#点名所要访谈的主页的私下认可主页名字,暗中同意首页文件名叫index.html

TypesConfig /etc/mime.types    
#用于安装保存有两样MIME类型数据的文件名

User daemon                          # apache的用户,默认为daemon
Group daemon                         # apache的用户,默认为daemon

KeepAliveTimeout 15
断开连接前的时刻

LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn
no pl pt pt-BR ru sv zh-CN zh-TW
Apache协理的语言

KeepAlive Off
是或不是持续连接(因为老是接二连三都得一回握手,假设是访谈量一点都不大,提出张开此项,要是网址访谈量相当大关闭此项相比较好),更正为:KeepAlive
On 表示同意程序性联机

#<Directory /home/*/public_html>
#    AllowOverride FileInfo AuthConfig Limit
#    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
#    <Limit GET POST OPTIONS>
#        Order allow,deny
#        Allow from all
#    </Limit>
#    <LimitExcept GET POST OPTIONS>
#        Order deny,allow
#        Deny from all
#    </LimitExcept>
#</Directory>
固然允许访谈客户的家目录中的网页文件,则打消上述注释,并对里面进展订正

HostnameLookups Off  
#当展开此项意义时,在记录日志的时候还要记录主机名,那亟需服务器来反向剖判域名,扩充了服务器的负荷,常常不提出拉开

四、Apache服务寄存站点的目录
$APACHE_HOME/apache/htdocs              # 私下认可存放网页的门径,输入IP
到此目录 能够见到it’s wroks! 正是此目录
[root@htdocs]# less  index.html
<html><body><h1>It
works!</h1></body></html>

# Redirect old-URI new-URL
Redirect参数是用来重写U奇骏L的,当浏览器访谈服务器上的二个曾经不设有的能源的时候,服务器重回给浏览器新的UEvoqueL,告诉浏览器从该U途锐L中获得资源。这第生机勃勃用于原本存在于服务器上的文档改动地方然后,又要求可以接受老U奇骏L能访问到原网页

IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable
Charset=UTF-8
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
当多少个HTTP乞请的U奇骏L为一个索引的时候,服务器重临那些目录中的索引文件,如若目录中不设有索引文件,而且服务器有批准显示目录文件列表的时候,就能来得这些目录中的文件列表,为了使得那几个文件列表能具备可领会性,而不光是三个粗略的列表,就要求前那些参数。假使利用了IndexOptionsFancyIndexing选项,能够让服务器针对分化的公文援引不一样的Logo。若无就动用DefaultIcon定义缺省体育场合标。雷同,使用AddDescription可以为不一致品类的文书档案参加描述

DocumentRoot “/var/www/html”    #
apache的私下认可web站点目录路线,结尾不要增多斜线

站点寄存目录
[root@apache]# ls -l htdocs/    # 默许的首页文件都位于此目录当中。
total 4
-rw-r–r– 1 root root 44 Nov 21  2004 index.html

#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
扶持对以.Z和.gz.tgz结尾的公文

发表评论

电子邮件地址不会被公开。 必填项已用*标注