首頁 運維 Apache Apache服務配置詳細講解

Apache服務配置詳細講解

Aug 23, 2019 pm 01:52 PM
apache

Apahce 設定指令可以分成兩大塊,核心指令和第三方提供的指令。在apache中,每個指令都對應著一個模組,而在所有模組中,最重要的就是core_module,so_module,http_module,以及mpm模組,他們除了so_moudle以外的其他模組都不可以關掉或禁止.

一:httpd.conf

(1) 主伺服器部分

1 、ServerName: 定義apache預設主機名,可以是網域名稱或IP位址

2 、ServerRoot: 用來定義伺服器所在的目錄,這個路徑通常是在設定時候由--prefix來指定的

3 、DocumentRoot: 用來指定apache提供頁面服務的根目錄,這個路徑必須是絕對路徑而不是相對路徑,如果有空格還需要用引號括起來

4 、ServerAdmin: 伺服器出錯後給管理員發郵件的位址

5 、ServerAlias 和Alias: 都用於映射目錄,只是ServerAlias將映射的目錄識別為CGI腳本目錄,並將此目錄所有檔案都當作CGI腳本對待。但是Alias只是映射為一個普通的目錄

6 、User 和Group: 用來定義用於運行apache 子程序的使用者和使用者群組

7 、Listen: 用來定義監聽apache的連接埠號碼

8 、LoadModule 指令:用於載入模組或目標檔案LoadModule cgi_module modules/mod_cgi.so_module

#9、 ErrorDocument: 自義錯誤頁面資訊ErrorDocument 500 "unknown error" 404  "/var/server/www/cgi-bin/missing_404.pl" ErrorDocument 402 http://www.nicky.com/error_402.html

10、 options : 決定在哪些目錄中使用那些特性,這些特性如下:

None: option 指令將不會起作用

ExecCGI: 允許目前目錄下執行CGI腳本

Includes: 允許使用SSI功能

IncludesNOEXEC: 允許使用SSI功能,但是exec cgi and exec cmd 功能停用

Indexes: 開立索引功能,例如一個請求到目錄URLz中沒有有DirectoryIndex 指令指定的索引文件,那麼伺服器就會自動傳回一個請求目錄內容清單

FollowSymLinks: 允許在目前環境使用符號連接,但是在Location 容器中會被忽略

All: 使用除MultiViews之外的所有特性,也是options的預設參數

MultiViews: 用於啟動mod_negotiations模組提供的多重視圖功能

11 、ServerTokens: OS/Major/Full 影響錯誤頁腳資訊的詳細程度,一般不建議使用

(2) 容器部分
1 、 容器:容器作用於模組,他會先判斷模組是否載入,然後再決定是否要處理,即只有當判斷結果為真時,才會執行容器內的指令,相反如果為假,則會全部忽略,可以使用 來判斷模塊是否載入

<IfModule mpm_netware_module><br>    DirctoryIndex index.html <br></IfModule>

如果載入則執行
<IfModule ! mpm_netware_module><br>    DirctoryIndex index.html <br></IfModule>
如果不載入則執行

2 容器:封裝一組條件為真時才為真時才為真生效的指令,作用於server config, virtual host, directory, .htaccess ,和IfModule區別在於,他是以模組是否載入作為判斷,但是IfDefine是以條件為判斷

依據

<IfDefine Proxy>

LoadModule proxy_module modules/libproxy.so

</IfDefine>

##</IfDefine>

##</IfDefine>

##</IfDefine>##>

#3 容器:

#Directory: 讓它封裝的指令在它的指定的目錄或他的子目錄起作用,這個目錄必須是一個完整的路徑,當然你也可以使用萬用字元* ?匹配目錄,也考慮利用使用[]來確定字元範圍,不過不論是哪一種都不能匹配/

#    Order Deny,Allow

Deny from all

#上述範例禁止了對/var/apache/html目錄的存取權限。任何請求到/var/apache/html都會被拒絕

如果希望目錄使用正規表示式,那麼需要在前面加上一個~

    Order Deny,Allow

##Allow from all

# ########
#########DirectoryMatch: 和Directory作用類似,只不過他可以直接接受正規符合而不需要加上一個~符號###### ###############    Order Deny,Allow########## ###Allow from all##################

4
Files: 只作用於文件,也可以使用通配符和[]以及在正規表示式前面~來使用正規表示式
< Files "^\.css"><br>    Order Deny,Allow<br>Allow from All<br></Files>

FilesMatch: Files 而不需要加上一個~符號
<FilesMatch "\.(gif|jpe?g|png)$"><br>Order Deny,Allow<br>Allow from All<br></FilesMatch>

#5 : 只是對URL進行存取控制

#Order Allow,Deny
Deny from All

#如果以cgi開頭URL則會被拒絕
另外還可以將URL 請求對應到Apache模組處理器上,例如使用mod_status模組:
<Location /server-status><br>SetHandler server-status<br></Location>

如果使用上面的配置。那麼存取/server-status,apache會將連線交給mod_status模組處理,並傳回一個Apache伺服器運行狀態頁面

容器的處理順序問題
Apache 會優先處理Directory 容器(但是不會處理有正規表示式的Directory和.htaccess,)接著處理Files 和FilesMatch 容器,再接著就是處理Location 和LocationMatch容器

#<Location /var/apache /html>

    Order deny,allow

    Allow from All

</Location&gt ;

<Direcotry /var/apache/html>

     Order allow,deny

#Allow from All

Deny from www.jons.com

#</Direcotry>

#上述例子,由於Apache會先處理容器,最後處理的容器會覆蓋之前Directory配置,因此對於www.json.com將是允許被用戶訪問的,如果容器相同則按照字典順序由短到長來處理。

更多相關問題請造訪PHP中文網:linux影片教學

以上是Apache服務配置詳細講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1318
25
PHP教程
1269
29
C# 教程
1248
24
apache中cgi目錄怎麼設置 apache中cgi目錄怎麼設置 Apr 13, 2025 pm 01:18 PM

要在 Apache 中設置 CGI 目錄,需要執行以下步驟:創建 CGI 目錄,如 "cgi-bin",並授予 Apache 寫入權限。在 Apache 配置文件中添加 "ScriptAlias" 指令塊,將 CGI 目錄映射到 "/cgi-bin" URL。重啟 Apache。

怎麼查看自己的apache版本 怎麼查看自己的apache版本 Apr 13, 2025 pm 01:15 PM

有 3 種方法可在 Apache 服務器上查看版本:通過命令行(apachectl -v 或 apache2ctl -v)、檢查服務器狀態頁(http://&lt;服務器IP或域名&gt;/server-status)或查看 Apache 配置文件(ServerVersion: Apache/&lt;版本號&gt;)。

apache怎麼連接數據庫 apache怎麼連接數據庫 Apr 13, 2025 pm 01:03 PM

Apache 連接數據庫需要以下步驟:安裝數據庫驅動程序。配置 web.xml 文件以創建連接池。創建 JDBC 數據源,指定連接設置。從 Java 代碼中使用 JDBC API 訪問數據庫,包括獲取連接、創建語句、綁定參數、執行查詢或更新以及處理結果。

apache80端口被佔用怎麼辦 apache80端口被佔用怎麼辦 Apr 13, 2025 pm 01:24 PM

當 Apache 80 端口被佔用時,解決方法如下:找出佔用該端口的進程並關閉它。檢查防火牆設置以確保 Apache 未被阻止。如果以上方法無效,請重新配置 Apache 使用不同的端口。重啟 Apache 服務。

怎麼查看apache版本 怎麼查看apache版本 Apr 13, 2025 pm 01:00 PM

如何查看 Apache 版本?啟動 Apache 服務器:使用 sudo service apache2 start 啟動服務器。查看版本號:使用以下方法之一查看版本:命令行:運行 apache2 -v 命令。服務器狀態頁面:在 Web 瀏覽器中訪問 Apache 服務器的默認端口(通常為 80),版本信息顯示在頁面底部。

apache怎麼配置zend apache怎麼配置zend Apr 13, 2025 pm 12:57 PM

如何在 Apache 中配置 Zend?在 Apache Web 服務器中配置 Zend Framework 的步驟如下:安裝 Zend Framework 並解壓到 Web 服務器目錄中。創建 .htaccess 文件。創建 Zend 應用程序目錄並添加 index.php 文件。配置 Zend 應用程序(application.ini)。重新啟動 Apache Web 服務器。

apache不能啟動怎麼解決 apache不能啟動怎麼解決 Apr 13, 2025 pm 01:21 PM

Apache 無法啟動,原因可能有以下幾點:配置文件語法錯誤。與其他應用程序端口衝突。權限問題。內存不足。進程死鎖。守護進程故障。 SELinux 權限問題。防火牆問題。軟件衝突。

apache怎麼刪除多於的服務器名 apache怎麼刪除多於的服務器名 Apr 13, 2025 pm 01:09 PM

要從 Apache 中刪除多餘的 ServerName 指令,可以採取以下步驟:識別並刪除多餘的 ServerName 指令。重新啟動 Apache 使更改生效。檢查配置文件驗證更改。測試服務器確保問題已解決。

See all articles