Apache服务器程序目录结构和配置文件路径

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

1.apache目录结构

[[email protected] 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目录
[[email protected] 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目录
[[email protected] 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主配置文件
[[email protected] 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 [email protected]              管理员邮箱
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中读取了

时间: 2024-10-20 16:19:35

Apache服务器程序目录结构和配置文件路径的相关文章

tomcat目录结构及配置文件说明

TOMCAT的目录结构 /bin:存放windows或Linux平台上启动和关闭Tomcat的脚本文件 /conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml /doc:存放Tomcat文档 /server:包含三个子目录:classes.lib和webapps /server/lib:存放Tomcat服务器所需的各种JAR文件 /server/webapps:存放Tomcat自带的两个WEB应用admin应用和 manager应用 /commo

第三篇 安卓Android应用程序目录结构解析

建立的HelloWorld的应用项目,其代码是由ADT插件自动生成的,形成Android项目特有的结构框架. 接下来让我带领大家解析一个Android程序的各个组成部分,这次我们拿一个Hello,World做例子,虽然只是一个Hello,World,但也是麻雀虽小五脏俱全,通过分析Hello,World的目录结构,让我们对Android程序有一个整体全面的认识. 一.创建一个Android 应用项目 启动Eclipse: 选择File->New->Project…:选择Android 下的An

grape动态PHP结构(一)——目录结构与配置文件

一.结构介绍 结构的名字grape,中文名叫葡萄,因为最近一个同事经常带葡萄到公司给我们吃,受到启发想到了这个名字. 1)本结构需要在PHP5.5中运行,如果要在5.4中运行,有些地方就要做些修改 2)结构中会用到MongoDB,所以需要在php中额外引用php_mongo.dll文件,查看安装方法. 3)还用到了性能工具xhprof,全文检索工具Coreseek(改造了sphinx),如果使用都需要额外的配置,如果不使用可以关闭 4)整合了微信的部分API接口,点击查看<微信公众平台开发系列>

Android开发:程序目录结构详解

HelloWorld程序的目录结构概述 我们可以在文件夹中看到,HelloWorld程序的目录主要包括:src文件夹.gen文件夹.Android文件夹.assets.res文件夹. AndroidManifest.xml.default.properties.在Eclipse的左侧展开HelloWorld项目,可以看到如下图的目录结构: 下面将分节介绍上面的各级目录结构. 1.src文件夹 顾名思义(src, source code)该文件夹是放项目的源代码的.打开HelloWorld.jav

android应用程序目录结构框架搭建

前言(废话) 在我们开始一个新android应用开发之前,我们需要新建一些目录结构.优秀的目录结构能让程序员一眼就能知道应用程序的构成结构,有助于帮助后来者理解代码.本人每每在拿到一个新的开发需求进行开发时,都有种不知如何下手的感觉,万事开头难,考虑到后来的扩展和不被后来人喷,经常在创建项目目录结构之初都会纠结很久(相信有不少新手会跟我有同样的心情吧O(∩_∩)O~).这次借鉴了网上和书籍的一些资料,自己整理了一份通用的模板,在这里做个笔记,也给新手做个参考. 声明:纯粹个人理解,还有很多考虑不

Tomcat的目录结构与配置文件

目录结构:/bin:脚本文件目录/lib:存放所有web项目都可以访问的公共jar包(使用common类加载器加载)/conf:存放配置文件/logs:存放日志文件/temp:存放Tomcat运行时的临时文件/webapps:web应用发布目录/work:Tomcat把各种由jsp生成的servlet文件放在这个目录下(java文件及最终编译生成的class文件),删除后,启动时会自动创建 配置文件:server.xml:主要的配置文件,全局共享,全部实例全部应用可见web.xml:缺省的web

微信小程序目录结构

微信小程序中的目录结构: 一个quick start项目的目录结构: app.js用于定义项目的启动入口 app.json用于定义每个页面 原文地址:https://www.cnblogs.com/Hahahang/p/10798797.html

AndroidStudio2.2 Preview3中NDK开发之CMake和传统 JNI在目录结构和配置文件上的区别(转载)

自从AndroidStudio更新到2.2,就有了CMake和传统JNI两种开发NDK的方法,主要就是在目录结构和build.gradle上的区别,下面我们将分别介绍目录区别和build.gradle种配置的区别(提示:在第一次用CMake时,最好在新建项目时勾选Include C++ Support,这样这个项目的NDK开发就是CMake方式,这估计也是Android以后主推的方式,建好项目,熟悉CMake方式的目录结构,这样对以后建普通项目再转CMake开发NDK有很大帮助,后面会讲到普通项

微信小程序-目录结构

1.一个小程序主体部分由三个文件组成,必须放在项目的根目录: app.js:小程序逻辑 必填 app.json:小程序公共配置 必填 app.wxss:小程序公共样式表 不必填 ----------------------------------------------------------------- 2.一个小程序页面由四个文件组成,分别是: js:主要是给页面传递数据和绑定的方法 必填 wxml:页面的布局 必填 wxss:页面样式 不必填 json:页面配置 不必填 为了方便开发者减