fswdnr 发表于 2018-11-29 09:12:30

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

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

1.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   模块目录例如PHPMEMCACHE编译后的模块在这里面

bin目录
# tree
.
|-- ab                   apache http服务器性能压力测试工具,类似的jmeterloadrunnerwebbench
|-- 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目录
# 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

2httpd.conf主配置文件
# egrep -v "#.*|^$" /usr/local/apache/conf/httpd.conf
ServerRoot "/usr/local/apache2.2.22"   apache安装目录
Listen 80                              apache端口


User daemon                              apache运行用户
Group daemon                           apache运行组


ServerAdmin you@example.com            管理员邮箱
DocumentRoot "/usr/local/apache2.2.22/htdocs"   站点目录,注意最后不要加/线
                            根目录权限
    Options FollowSymLinks               可以使用符号链接
    AllowOverride None
    Order deny,allow
    Deny from all

目录权限 注意Indexes的作用是允许浏览目录
    Options Indexes FollowSymLinks
    AllowOverride None                     禁止用户对目录配置文件.htaccess修改,一般为none
    Order allow,deny
    Allow from all


    DirectoryIndex index.html               站点目录首页文件多个文件用空格隔开

                           防止WEB用户查看以.ht开头的隐藏文件
    Order allow,deny
    Deny from all
    Satisfy All

ErrorLog "logs/error_log"                     错误日志
LogLevel warn                                    警告级别

    LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined 复合日志格式
    LogFormat "%h %l %u %t "%r" %>s %b" common    常规日志格式
   
      LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio复合日志格式
   
    CustomLog "logs/access_log" common   默认访问日志格式


    ScriptAlias /cgi-bin/ "/usr/local/apache2.2.22/cgi-bin/"CGI别名配置



            CGI权限访问路径
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all

DefaultType text/plain   定义不能确定MIME类型时候使用默认MIME类型,如果服务主要包含text或HTML ,text/plain是一个好选择

    TypesConfig conf/mime.types
    AddType application/x-compress .Z          允许信息在传输中使用mosaic/x 2.1+解压信息但不是所有浏览器都支持
    AddType application/x-gzip .gz .tgz


SSLRandomSeed startup builtin
SSLRandomSeed connect builtin


3.虚拟主机http_vhost.conf配置文件
NameVirtuaHost *:80
表示基于名称的虚拟主机*:80表示监听本机所有IP的80端口上提供HTTP服务,*可以设置为具体IP

serveradmin 管理员邮箱
servername域名
serveralias 别名      可以设置多个域名指向同一个站点
errorlog    错误日志
customlog   访问日志

虚拟主机的配置是局部优先原则,也就是http_vhost.conf配置了,那么就不会从主配置文件http.conf中读取了



页: [1]
查看完整版本: Apache服务器程序目录结构和配置文件路径