一、配置文件
配置文件默认分为3个部分
[root@XY-PC ~]# grep ‘
/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 #默认拒绝所有
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 #每个目录中用于控制访问信息的文件名
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页面
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文件存放目录(缺省配置)