Apache詳解

 

Apache 目錄結構

       Bin                    apache執行文件所在目錄。apachectl控制服務開啓或停止;htpasswd 密碼保護文件
         cgi-bin               預設給一些cgi網頁程序存放的目錄
         error                  默認錯誤應答文件目錄
         htdocs              默認web文檔根目錄
         icons                  提供apache預設的一些小圖標
         logs                    apache日誌文件放置位置,訪問日誌access_log,錯誤日誌error.log
         man                   apache服務器配置文件幫助手冊所在目錄
         modules           apache服務器所支持的動態加載模塊所在位置
         /etc/httpd/     源碼安裝時指定主配置文件http.conf存放目錄(默認是conf 目錄)
         /etc/httpd/extra/  apache輔助配置文件存放目錄
        
 

 

檢查配置文件語法錯誤

/usr/local/apache2/bin/apachectl –t

/usr/local/apache2/bin/apachectl  configtest
 

主配置文件httpd.conf全局參數 

       ServerRoot “/usr/local/apache2”       服務器目錄的絕對路徑

    license 192.168.0.111:80                  服務器接受改ip地址上的80端口請求

 

         Loadmodule 指令

 
                            語法: LoadModule 模塊名稱模塊文件路徑全名
                            LoadModule deflate_module modules/mod_deflate.so    加載此模塊後服務器在將輸出內容發送到客戶端以前進行壓縮以節約帶寬

                            LoadModule expires_module modules/mod_expires.so 加載此模塊後服務器允許通過配置文件控制HTTP”Expires:” “Cache-Control頭內容

                            LoadModule rewrite_modulej modules/mod_rewrite.so 加載此模塊後服務器要給予一定規則實時重寫URL請求

                            LoadModule php5_module modules/libphp5.so 加載此模塊後服務器將用戶請求的PHP內容是用PHP模塊處理

         User daemon           設置apahce進程所屬的用戶
         Group daemon       用戶組
         ServerAdmin  [email protected]         設置管理員郵箱
         DocumentRoot “/usr/local/apache2/htdocs”   設置網站文檔根目錄

         DirectoryIndex index.php index.html                     直接訪問目錄時,將返回index.php / index.html頁面

 

                            DirectoryIndex /yang/error.php           當訪問的頁面不存在時,將返回error.php頁面       

 
 

附件配置文件httpd-default.conf全局參數 

       /etc/httpd/extra/httpd-default.conf

 

 

 

附件配置文件httpd-mpm.conf全局參數     

 

              詳情細說Php.pdf 90

 

所以linux 選擇 prefirk MPM

 

 

MPM worker 詳細設置請看細說Php.pdf 91

 
 

 

Apache服務器中使用配置段(容器)

 

文件系統容器

 

   Alias/dir/  “/var/www/html/”    #設置別名目錄 /dir/ 對應的真實目錄

 

   <Directory“/var/www/html/”>

 

Options IndexesFollowSymLinks   #Indexes允許目錄被索引

 
#FollowSymLink允許訪問Ln鏈接文件

 

         Order allow,deny         #順序是先充許後被拒絕

 

         allowfrom all

 

   </Directory>

 

   

 

<Files "hellow.html">

 

        Order deny,allow

 

        Deny from all           拒絕apache中所有hellow.html被訪問,嵌套在<Directory “/var/www/html/”>中使用,只拒絕/var/www/html/目錄下的hellow.html

 

</Files>

 
正則表達式版本
 
<DirectoryMatch>和<FilesMatch>
 
    <FilesMatch \. (gif|jpe?g|png)$>
 
           Order Deny,Allow

 

Deny from all     拒絕訪問以gif,jpg,jpeg,png結尾的文件

 
    </FilesMatch>

 

網絡空間容器

 

   <Location /pri>

 

      Deny from all      URL中以/pri開頭的地址都會被拒絕            

 

   </location>                         

 

 

分佈式配置文件 .htaccess

 

   .htaccess雖然可以針對每個目錄改變配置,但是啓用.htaccess會導致性能下降或一些不安全因素

 

   針對每個目錄改變配置,量比較大,可以再每個目錄中創建 .htaccess文件,然後管理此目錄的人直接在改文件中寫權限(deny,allow ..)即可

 

AccessFileName .htaccess 主配置文件中開啓該功能,默認在httpd-default.conf配置文件中已經開啓

 
<Directory “/home/aa/”>

 

           AllowOverride ALL/none    all允許該目錄使用.htaccess文件

 
    </Directory>

 

設置虛擬主機

 

基於主機名的虛擬主機

 
主配置文件中開啓專門設置虛擬主主機的輔助配置文件,這樣可以直接在輔助配置文件中設置虛擬主機,當然也可以直接在主配置文件中設置
 

 

1.使用bind 服務創建2個不同的域名,或者更改hosts文件

 

2.創建1個放置網頁的目錄,並給該目錄的o 有rx 權限,或者更改爲所屬daemon用戶(通過ps –aux |grep httpd 可知)

 
3.更改虛擬主機配置文件
 
[root@localhost extra]# vi httpd-vhosts.conf
 
 
 
 
 
         
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章