Apache HTTP Server 入門基本概念

2022-05-23 18:06:10 字數 3492 閱讀 2885

web上的位址用url表示 - 統一資源定位符 - 指定協議(例如http),伺服器名稱(例如www.apache.org),url路徑(例如/docs/current/getting-started.html),以及可能的查詢字串(例如?arg=value),用於將附加引數傳遞給伺服器。

客戶端(例如,web瀏覽器)使用指定的協議連線到伺服器(例如,您的apache http server),並

使用url路徑

請求資源。

url路徑可以表示伺服器上的任意數量的事物。

它可能是乙個檔案(如

getting-started.html)處理程式(如

伺服器狀態

)或某種程式檔案(如index.php)。

我們將在下面的

**內容

部分討論這個問題

。伺服器將傳送乙個響應

響應由狀態**和可選的響應主體組成。

狀態**指示請求是否成功,如果不成功,則表示存在何種錯誤情況。

這告訴客戶端應該如何處理響應。

您可以在

http server wiki中

閱讀可能的響應** 

。事務的詳細資訊和任何錯誤條件都寫入日誌檔案。

下面將在「 

日誌檔案和疑難解答」

部分中對此進行更詳細的討論

。為了連線到伺服器,客戶端首先必須將伺服器名稱解析為ip位址 - 伺服器所在的internet上的位置。

因此,為了使您的web伺服器可訪問,伺服器名稱必須位於dns中。

如果您不知道如何執行此操作,則需要與網路管理員或internet服務提供商聯絡,以便為您執行此步驟。

多個主機名可能指向相同的ip位址,並且可以將多個ip位址連線到同一物理伺服器。

因此,您可以使用稱為

虛擬主機

的功能在同一物理伺服器上執行多個web站點

。如果要測試的伺服器不可訪問internet,則可以將主機名放在hosts檔案中以進行本地解析。

例如,您可能希望在主機檔案中放置一條記錄,以將請求對映

www.example.com到本地系統,以進行測試。

此條目如下所示:

127.0.0.1 www.example.com

主機檔案可能位於/etc/hostsc:\windows\system32\drivers\etc\hosts

你可以閱讀更多有關在hosts檔案

wikipedia.org/wiki/hosts_(file)

的,和更多的dns 

wikipedia.org/wiki/domain_name_system

。apache http server通過簡單的文字檔案配置。

這些檔案可能位於各種位置,具體取決於您安裝伺服器的具體程度。

可以在httpd wiki中

找到這些檔案的常用位置

。如果從源安裝httpd,則配置檔案的預設位置為 

/usr/local/apache2/conf

通常呼叫預設配置檔案

這也可能在伺服器的第三方分發中有所不同。

為了便於管理,配置經常被分成多個較小的檔案。

這些檔案通過

include指令載入。

這些子檔案的名稱或位置並不神奇,並且從乙個安裝到另乙個安裝可能會有很大差異。

排列和細分這些檔案對

來說最有意義

。如果您預設使用的檔案排列對您沒有意義,請隨意重新排列。

通過在這些配置檔案中

放置配置指令來配置

伺服器。

指令是乙個關鍵字,後跟乙個或多個設定其值的引數。

的問題:「 

我應該在**把該指令?

」你想要乙個指令是有效的,一般考慮回答。

如果它是乙個全域性設定,它應該出現在配置檔案中,任何外

,或其他部分。

如果它只應用於特定目錄,那麼它應該進入

引用該目錄

的 部分,依此類推。

有關這些部分的進一步討論,

請參閱配置部分

文件。除主要配置檔案外,某些指令可能.htaccess位於內容目錄

中的 檔案中。 

.htaccess檔案主要供那些無法訪問主伺服器配置檔案的人使用。

您可以.htaccess

.htaccesshowto中

閱讀有關

檔案的更多資訊 

。**內容可以採用許多不同的形式,但可以大致分為靜態和動態內容。

靜態內容類似於html檔案,影象檔案,css檔案以及駐留在檔案系統中的其他檔案。

documentroot指令指定檔案系統中應放置這些檔案的位置。

該指令可以全域性設定,也可以按虛擬主機設定。

檢視配置檔案以確定如何為您的伺服器設定此項。

通常,在index.html未指定檔名的情況下請求目錄時

,將提供呼叫的文件

。例如,如果

documentroot設定為/var/www/html並且發出請求,則該檔案/var/www/html/work/index.html將提供給客戶端。

動態內容是在請求時生成的任何內容,可能會從乙個請求更改為另乙個請求。

有許多方法可以生成動態內容。

各種處理程式

可用於生成內容。

可以編寫

cgi程式

來為您的站點生成內容。

像mod_php這樣的第三方模組可用於編寫執行各種操作的**。

支援這些第三方內容超出了本文件的範圍,您應該找到他們的文件或其他支援論壇來回答您關於它們的問題。

作為apache http server管理員,您最有價值的資產是日誌檔案,特別是錯誤日誌。

沒有錯誤日誌解決任何問題就像閉著眼睛開車一樣。

錯誤日誌的位置由errorlog指令

定義,該

指令可以全域性設定,也可以按虛擬主機設定。

錯誤日誌中的條目會告訴您出了什麼問題以及何時出錯。

他們經常也告訴你如何解決它。

您還可以將錯誤日誌配置為包含日誌id,然後可以將其與訪問日誌條目相關聯,以便確定導致錯誤情況的請求。

您可以閱讀有關登入

日誌文件的

更多資訊

Fabric private data基本概念

fabric private data利用sidedb來儲存私有資料,相當於在通道之上又提供了一層更細粒度的資料隱私保護機制。本文將介紹fabric private data的引入目的 基本概念與應用場景。目前在hyperledger fabric中實現資料隱私的方法是使用通道。但是官方並不孤立為了...

Fabric private data基本概念

fabric private data利用sidedb來儲存私有資料,相當於在通道之上又提供了一層更細粒度的資料隱私保護機制。本文將介紹fabric private data的引入目的 基本概念與應用場景。目前在hyperledger fabric中實現資料隱私的方法是使用通道。但是官方並不孤立為了...

HyperLedger Fabric基本概念

源自 提供共識服務的網路節點,例如,使用kafka或pbft 維護賬本的網路節點,通常在hyperledger fabric中擔任背書或者記賬角色。檢查交易的合法性,最終將交易提交到區塊鏈中。orderers peers comitter 三者之間關係如下圖所示 fabric中交易的處理過程 在整個...