作者:烛光一米_530 | 来源:互联网 | 2013-07-30 11:25
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端口
User daemon apache运行用户
Group daemon apache运行组
ServerAdmin qingfeng@zyidai.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中读取了