2014-03-22 16:50:01
来 源
itjs.cn
Apache
本文介绍Apache服务器程序目录结构和配置文件路径,希望对于初学Apache服务器相关的朋友有帮助,更多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中读取了

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。