源地址:http://blog.51cto.com/marsman/1913676

本文主要讲述apache主要目录结构及主要配置文件

1.apache目录结构

[root@test apache]# tree -L 1
.
|-- bin       程序命令目录
|-- build
|-- cgi-bin
|-- conf      配置文件目录
|-- error
|-- htdocs    编译安装时站点目录
|-- icons
|-- include
|-- lib 
|-- logs       默认日志文件存放包括错误日志(error_log)和访问日志(access_log) tail -f access_log可以随时看访问记录, 里面httpd.pid还会记录主进程号
|-- man
|-- manual
`-- modules   模块目录  例如PHP  MEMCACHE编译后的模块在这里面

bin目录
[root@test bin]# tree
.
|-- ab                   apache http服务器性能压力测试工具,类似的jmeter  loadrunner  webbench
|-- apachectl            apache的启动命令
|-- apr-1-config
|-- apu-1-config
|-- apxs                 apache服务器编译和安装扩展的工具,在进行DSO方式模块编译时会用到例如编译PHP时就用到:--with-apxs2=/usr/local/apache/bin/apxs
|-- checkgid
|-- dbmmanage
|-- envvars
|-- envvars-std
|-- htcacheclean         清理磁盘缓存区的命令,一般少用
|-- htdbm
|-- htdigest
|-- htpasswd             建立更新基本认证文件  例如配置nagio监控时候会用到
|-- httpd                为apache的控制命令程序,apachectl执行的时候会调用到httpd
|-- httxt2dbm
|-- logresolve
`-- rotatelogs           apache自带日志轮换工具 ,也可以用到cronolog代替。

conf目录
[root@test conf]# tree
.
|-- extra                                辅助apache配置文件
|   |-- httpd-autoindex.conf
|   |-- httpd-dav.conf                   dav支持配置
|   |-- httpd-default.conf               apache相关服务配置 如超时时间 保持连接时间
|   |-- httpd-info.conf
|   |-- httpd-languages.conf             语言支持
|   |-- httpd-manual.conf
|   |-- httpd-mpm.conf                    服务器池管理,如apache模式配置 连接等
|   |-- httpd-multilang-errordoc.conf
|   |-- httpd-ssl.conf                    支持SSL加密配置
|   |-- httpd-userdir.conf
|   `-- httpd-vhosts.conf                 虚拟机配置文件
|-- httpd.conf                            主配置文件
|-- magic
|-- mime.types
`-- original

2  httpd.conf主配置文件
[root@test apache]# egrep -v "#.*|^$" /usr/local/apache/conf/httpd.conf
ServerRoot "/usr/local/apache2.2.22"   apache安装目录
Listen 80                              apache端口 
<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
User daemon                              apache运行用户
Group daemon                             apache运行组
</IfModule>
</IfModule>
ServerAdmin you@example.com              管理员邮箱
DocumentRoot "/usr/local/apache2.2.22/htdocs"   站点目录,注意最后不要加/线
<Directory />                            根目录权限
    Options FollowSymLinks               可以使用符号链接
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
<Directory "/usr/local/apache2.2.22/htdocs"> 目录权限 注意Indexes的作用是允许浏览目录
    Options Indexes FollowSymLinks
    AllowOverride None                       禁止用户对目录配置文件.htaccess修改,一般为none
    Order allow,deny
    Allow from all
</Directory>
<IfModule dir_module>
    DirectoryIndex index.html                 站点目录首页文件多个文件用空格隔开
</IfModule>
<FilesMatch "^.ht">                           防止WEB用户查看以.ht开头的隐藏文件
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>
ErrorLog "logs/error_log"                       错误日志
LogLevel warn                                    警告级别
<IfModule log_config_module>
    LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined 复合日志格式
    LogFormat "%h %l %u %t "%r" %>s %b" common    常规日志格式
    <IfModule logio_module>
      LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio  复合日志格式
    </IfModule>
    CustomLog "logs/access_log" common   默认访问日志格式
</IfModule>
<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/usr/local/apache2.2.22/cgi-bin/"  CGI别名配置
</IfModule>
<IfModule cgid_module>
</IfModule>
<Directory "/usr/local/apache2.2.22/cgi-bin">            CGI权限访问路径
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
DefaultType text/plain   定义不能确定MIME类型时候使用默认MIME类型,如果服务主要包含text或HTML ,text/plain是一个好选择
<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-compress .Z          允许信息在传输中使用mosaic/x 2.1+解压信息  但不是所有浏览器都支持
    AddType application/x-gzip .gz .tgz
</IfModule>
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

3.虚拟主机http_vhost.conf配置文件
NameVirtuaHost *:80
表示基于名称的虚拟主机  *:80表示监听本机所有IP的80端口上提供HTTP服务,*可以设置为具体IP
<VirtualHost *:80>
serveradmin 管理员邮箱
servername  域名
serveralias 别名        可以设置多个域名指向同一个站点
errorlog    错误日志
customlog   访问日志
</VirtualHost>
虚拟主机的配置是局部优先原则,也就是http_vhost.conf配置了,那么就不会从主配置文件http.conf中读取了

Apache目录结构解释的更多相关文章

  1. Apache目录结构(一)

    一.Apache 目录结构 bin: 该目录用于存放apache常用的命令,比如httpd cig-bin:该目录存放linux下的常用命令 .sh conf:存放配置文件httpd.conf,在ht ...

  2. JavaWeb项目的目录结构解释(上):

    当我们在IDEA创建JavaWeb项目时,默认的一般会有下图的目录结构,你的开发就是按照下列结构进行开发的,那么我就逐一解释他们的意思: 首先是demo:这个是项目的名字,一般你是自己创建一个与自己项 ...

  3. Linux:apache目录结构和配置文件详解

    bin目录下的常见命令 conf目录 htdocs目录 logs目录 httpd.conf文件解析. 如果后期自己新创建了新的站点目录,就要重新增加对应的目录权限配置 extra/目录下配置文件解析 ...

  4. selenium 目录结构解释

    common目录         定义了通用的异常类 webdriver目录 android.backberry.chrome.edge.firefox.ie.opera.phantomjs.safa ...

  5. Linux目录结构解释

    Linux的常用命令 cp: 用于文件复制的命令. cp file_1 file_2 copy_position -v: 复制的详细过程. -r: 复制目录. mv: 文件移动或文件重命名. mv f ...

  6. ansible-playbook-roles目录结构

    1. ansible-角色-roles目录结构       角色是基于已知文件结构自动加载某些vars_files,任务和处理程序的方法.按角色对内容进行分组还可以轻松与其他用户共享角色.      ...

  7. 04 Apache Solr: 目录结构

         通过前面的介绍,我们已经能够看到管理员界面并对Solr形成了一个感性的认识.本篇将在物理上深入了解Solr的安装目录结构和Solr示例的主目录结构.   安装目录结构 Solr 6.3.0安 ...

  8. Apache禁止显示目录结构

    打开文件:httpd-vhosts.conf: 禁止显示Apache目录列表-Indexes FollowSymLinks如何修改目录的配置以禁止显示 Apache 目录列表.缺省情况下如果你在浏览器 ...

  9. python基础之迭代器、装饰器、软件开发目录结构规范

    生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大 ...

随机推荐

  1. jquery中选择checkbox拼接成字符串,然后到后台拆分取值

    jquery中选择checkbox拼接成字符串,然后到后台拆分取值 js中的代码 $("#btn").click(function(){ var chenked=$("i ...

  2. 去除Many2one字段的“创建并编辑”选项

    要去除Many2one字段的“创建并编辑”选项,只要在view.xml里对应的field定义里增加options="{'no_create_edit':1}即可 <field name ...

  3. 重新学习angularjs--第一篇(入门)

    几乎是一年之前,泛泛接触了angularjs,也做了一些项目,但是时至今日,几乎已经忘记了ng的使用,由于业务需要,近日要攻克这座难关,重新学习.会把学习的一些东西拿出来,记录之. angularjs ...

  4. S5PV210初始化系统时钟

    S5PV210初始化系统时钟 S5PV210时钟体系S5PV210中包含3大类时钟domain,分别是主系统时钟domain (简称MSYS,下面将使用简称来进行相关讲解).显示相关的时钟domain ...

  5. AndroidStudio、gradle、buildToolsVersion关系

    使用AndroidStudio 开发也已经2年了,每次gradle 或者studio 有推荐更新后,项目重新sync后都会报错,提示更新相应的其他版本,比如AndroidStudio.gradle.b ...

  6. PHP 日期时间类 Carbon 的常见用法

    Carbon 继承了 PHP DateTime 类,所以 DateTime 类的方法同样适用于 Carbon 类. 初始化一个日期 use Carbon\Carbon; $today = new Ca ...

  7. python 全栈开发,Day13(迭代器,生成器)

    一.迭代器 python 一切皆对象 能被for循环的对象就是可迭代对象 可迭代对象: str,list,tuple,dict,set,range 迭代器: f1文件句柄 dir打印该对象的所有操作方 ...

  8. 步步为营-42-通过DataAdapter实现增删查改

    说明:通过DataAdapter或者dataset连接数据库,实现对数据增删改查操作. 以前写过一篇步步为营-23-通过GridView实现增删改 1:SqlDataAdapter  DataTabl ...

  9. WCF简介-01

    WCF Windows Communication Foundation 1.1 新建一个"空白解决方案" 1.2 在解决方案中添加类库IBLL 1.2.1 添加接口IUserIn ...

  10. 集合Arraylist的方法的使用和打印

    package chapter090; import java.util.ArrayList;import java.util.List; public class TestList01 { publ ...