Apache配置文件及目录结构详解学习整理

一、配置文件
配置文件默认分为3个部分

[root@XY-PC ~]# grep ‘

’ /etc/httpd/conf/httpd.conf -Hn

/etc/httpd/conf/httpd.conf:33:### Section 1: Global Environment

/etc/httpd/conf/httpd.conf:252:### Section 2: ‘Main’ server configuration

/etc/httpd/conf/httpd.conf:975:### Section 3: Virtual Hosts

NO.1-Global Environment(全局配置)

控制整个Apache服务器行为

ServerType standalone

#表示如何运行apache,standalone(独立式),表示使用单独的一个httpd进程监听客户端请求,有请求则生成一个子进程提供服务。inetd(超级守护进程式),表示使用inetd超级进程监听客户端请求,有请求则生成一个httpd进程提供服务

具体解释:http://www.07net01.com/jianzhan/103992.html

ServerRoot “/etc/Apache” #Apache安装目录

PidFile logs/httpd.pid #记录进程ID的文件位置

ScoreBoardFile logs/apache_runtime_status #用于保存内部服务器进程信息的文件

Timeout 300 #客户程序和服务器连接的超时间隔

KeepAlive On #允许保持连接(每个连接有多个请求)

MaxKeepAliveRequests 100 #每个连接可接受100个请求

KeepAliveTimeout 15 #同一连接同一客户端两个请求之间的等待时间

MaxRequestsPerChild 0 #每个子进程死亡之前最大请求数,0表示不限制(这儿请求应该是连接吧,自己理解的,请错的话请指出哈)

ThreadsPerChild 50 #服务器允许50个并发线程同时响应

Listen 12.34.56.78:80 #绑定Apache监听12.34.56.78的80端口

BindAddress 166.111.178.144 #告诉服务器监听哪个IP地址

ExtendedStatus On #报告更全面的Apache运行状态信息,参考解释:http://wenku.baidu.com/link?url=S3Xb1DCZHe-aEBvLjfVuV_zjC8Id4QIssflsemh1goEeA1BJ32QtUV3-kqrqEi5PPKNj1bQMjDmbfhn40h6bmoRhYU7HX8fJ8MV2TK07xmu

User www #配置Apahce所属用户

Group www #配置Apache所属组

LoadModule auth_basic_module modules/mod_auth_basic.so #类似配置都是加载某模块

AddModule mod_so.c mod_mime.c mod_access.c mod_auth.c mod_negotiation.c #windows中还有类似配置,据说是把Apache模块编译成标准的Windows结构

NO.2-主站点配置

Port 80 #监听端口

ServerAdmin [email protected] #配置Apache管理员的邮箱,网站访问报错时会显示在浏览器中

ServerName localhost #设置主机名

DocumentRoot “/var/www/” #网站程序文件放置位置

Options Indexes FollowSymLinks #Indexes表示开启目录浏览,FollowSymLinks表示允许符号链接,详解:http://www.365mini.com/pag /apache-options-directive.htm

AllowOverride None #忽略该目录下的.htaccess文件,详解:http://www.chinaz.com/server/2010/0129/105397.shtml

Order deny,allow #先拒绝后允许

Deny from all #默认拒绝所有

#设置/var/www目录的特性及权限

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

Allow from all

UserDir “/home/” #开启UserDir功能,比如访问地址:www.test.com/~test 则会指向 /home/test目录

#限制HTTP(谓词)请求方法,还有一个Limitexcept节点(排除某些方法)

Order allow,deny

Allow from all #允许上面提到的方法

DirectoryIndex index.html #指定网站的默认首页

AccessFileName .htaccess #每个目录中用于控制访问信息的文件名

#禁止用户访问.htaccess文件

Order allow,deny

Deny from all

CacheNegotiatedDocs #不清楚什么意思,相关文章:http://www.codesocang.com/jquerymobile/seo/6/15.html

UseCanonicalName On #详细解释:http://blog.csdn.net/methods2011/article/details/14231251

TypesConfig conf/mime.types #指定负责处理MIME对应格式的配置文件的存放位置

DefaultType text/plai #添加MIME类型

MIMEMagicFile conf/magic #表示模块定义文件标识的所在位置

HostnameLookups Off #关闭DNS反查,不获取客户端对应的主机名,节约服务器资源

ErrorLog logs/error.log #Apache启动,运行错误日志文件位置

LogLevel warn #设置记录在error.log文件中的信息级别(debug, info, notice, warn, error, crit等)

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

CustomLog logs/access.log common #网站访问日志位置

CustomLog logs/referer.log referer #记录客户访问站点的用户身份

CustomLog logs/agent.log agent #记录请求访问的用户代理

CustomLog logs/access.log combined #同时记录访问,用户身份,代理

ServerSignature On #表示用户请求所返回的头部信息中包括apache版本,PHP版本等信息,为了安全一般设置Off

Alias /your_alias /your/dqm/new/proj/root #如:www.test.com/your_alias 则会访问到/your/dqm/new/proj/root该目录

DefaultIcon /icons/unknown.gif #为没有显式定义图标的文件提供缺省图标

ErrorDocument 500 “The server made a boo boo.” #定义500返回码错误提示

ErrorDocument 404 /missing.html #404页面

#允许使用URL”http://www.test.com/server-info”(要求加载mod_info.c)

SetHandler server-info

Order deny,allow

Deny from all

Allow from .your_domain.com

NO.3-虚拟主机

LoadModule vhost_alias_module modules/mod_vhost_alias.so #启用模块

NameVirtualHost *:80 #虚拟主机监听的IP及端口,默认的缺省值

#虚拟主机配置实例,理论上大部分主站点的配置都可以在虚拟主机中使用

ServerAdmin webmaster at dummy-host dot example.com

DocumentRoot /www/docs/test-com

ServerName www.test.com

ErrorLog logs/test-com-error_log

CustomLog logs/test-com-access_log common

二、主要目录结构
[root@PC sbin]# ll /etc/httpd/

drwxr-xr-x 2 root root 4096 Nov 28 14:29 conf

drwxr-xr-x 2 root root 4096 Sep 16 2015 conf.d

drwxrwxrwx 1 root root 19 Sep 16 2015 logs

lrwxrwxrwx 1 root root 19 Sep 16 2015 run -> …/…/var/run/httpd

drwxr-xr-x 2 root root 4096 Nov 28 14:29 vhost

drwxr-xr-x 2 root root 4096 Nov 3 22:19 bin

drwxr-xr-x 2 root root 36 Nov 3 22:19 cgi-bin

drwxr-xr-x 2 root root 23 Nov 3 22:58 htdocs

drwxr-xr-x 14 root root 8192 Jul 16 2015 manual

drwxr-xr-x 2 root root 47 Nov 3 22:44 modules

conf #主要存放了配置文件httpd.conf

conf.d #里面存放的是一些额外的参数文档,比如php.conf,可以自定义设置一定配置参数放置到该目录

logs #日志文件存放的目录

run #PID文件存放的目录(可以自行更改)

vhost #虚拟主机配置文件存放的目录,这个也是自定义的

bin #执行文件存放的目录,比如:(ab 常用压测工具),(apachectl 控制apache启动的,实际调用的httpd),(apxs apache扩展编译的工具),(htpasswd 为网站设置用户名密码),(httpd apache的控制命令程序),(rotatelogs apache的日志轮询工具)等

cgi-bin #CGI处理程序的存放目录

htdocs #apache网站程序文件存放目录(可以自定义)

manual #一些帮助及说明文档

modules #apache加载的module文件存放目录(缺省配置)

你可能感兴趣的:(linux)