Apache目錄結構解釋

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

 

本文主要講述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中讀取了web

相關文章
相關標籤/搜索