Apache配置入門筆記

2021-07-07 07:20:01 字數 3097 閱讀 6837

apache配置入門筆記

2011-10-24      

0 收藏

apache是乙個http伺服器,在無連線的時候,它除了監聽配置檔案中指定的ip位址和tcp埠號外不做任何工作;當乙個請求出現在乙個有效的埠時,apache接受http請求並分析其頭部,然後它根據配置檔案中設定的規則,做出某種合適的動作。

apache通過乙個配置檔案進行設定

可以通過命令列引數 -f 指定

配置檔案內通過include可以包含其他的配置檔案

用 listen 指定要繫結的埠號

listen 80

listen 127.0.0.1:8080

listen 10.0.2.15:8081

listen [fe80::222:5fff:feb9:82d0]:8888

不同的ip和埠組合可以用來做虛擬主機,這需要通過virtualhost進一步配置(必須先用listen設定監聽位址)

...

servernname host.example.com

...servernname host.example2.com

...

虛擬主機可以基於

我們在瀏覽器中打交道的是一堆url:

瀏覽器通過get或post想伺服器傳送請求

get /index.html http/1.1 host:www.example.com
伺服器此時需要根據這個路徑傳送乙個合適的檔案給瀏覽器。

比如,前面請求的 /index.html 對應磁碟的哪個檔案。則需要documentroot指定乙個目錄作為根目錄。

比如:

documentroot /var/www

documentroot "c:/program files/apache software foundation/apache2.2/htdocs"
還有乙個serverroot的東西,是用來配置伺服器的配置檔案、日誌檔案等所在目錄的,與這兒沒什麼關係。

可能還需要訪問位於documentroot之外的檔案

alias /docs /var/web
這樣一來, 被對映到該目錄 www.2cto.com

還有乙個scriptalias,功能類似,只是其內容均被視為指令碼。

scriptalias /cgi-bin/ "c:/program files/apache software foundation/apache2.2/cgi-bin/"
這兩個命令還有兩個對應的支援正則匹配的版本

比如:

當然實在不存在的東西,只能404錯誤了

對目錄的單獨設定是通過directory進行的

options +indexes

對檔案的單獨設定是通過files進行

order allow,deny

deny from all

在路徑上,儘管它們都可以接受shell風格萬用字元,但更複雜的匹配則需要使用相應的支援正則的版本

可以通過在目錄下放置乙個.htaccess檔案對該目錄進行控制。

主配置檔案內的:

addtype text/example .exm

等價於在該目錄下的.htaccess檔案中放入:

addtype text/example .exm
但這個不建議被使用(除非沒有主配置檔案的設定許可權)了。

與前面的directory和files針對的磁碟檔案路徑不同,location設定的是url位址中路徑部分。

比如:

order allow,deny

deny from all

將禁止訪問等所有以 /private 開頭的路徑

這個東西會3組模組(真的比較繁...,使用loadmodule載入):

首先設定認證型別(使用authtype指令,目前只支援兩種?)

根據認證型別選擇認證支援模組(通過authbasicprovider或authdigestprovider)設定,提供密碼等驗證資訊

authdigestprovider

設定授權支援模組(參考require指令?),意圖是:如何使用前面的密碼資訊?

authtype basic

authname "from example.com"

#authbasicprovider file

authuserfile /usr/apache2/passwd/passwords

require user debao

密碼檔案通過htpasswd來生成,對於digest方式,則需要使用htdigest來生成密碼檔案。

這二者可以提供簡單的基於ip位址的訪問控制

order deny,allow

deny from all

allow from 192.168.0.2

當瀏覽器請求乙個檔案時,伺服器一般都需要同時提供mime資訊

對於純文字檔案,如果讓伺服器提供編碼資訊。adddefaultcharset指令可以做到,不過這會覆蓋html等檔案自身提供的編碼資訊。

使用 scriptalias指令可以設定cgi目錄

scriptalias /cgi-bin/ /usr/local/apache2/cgi-bin/
如果在該目錄之外的以某種字尾結尾(.py)的檔案作為指令碼,則需要使用

options +execcgi

addhandler cgi-script .py

首先是options中允許cgi指令碼執行,然後使用addhandler設定。

如果某個目錄下全是cgi指令碼,則可以使用

sethandler cgi-script
對於python來說,cgi方式應該不怎麼使用了吧。主要是wsgi這種方式了。

在apache配置檔案中使用

loadmodule wsgi_module modules/mod_wsgi.so

wsgiscriptalias /wiki "f:/moin/mywiki/moin.wsgi"

Ubuntu QT配置入門

ubuntu qt配置入門 qt是什麼?qt是乙個跨平台的c gui庫,其官方 為 qt的安裝 安裝方法有兩種 小問題 tips 寫個程式測試一下 include include include include include include sizeof wid bytes.na qobject ...

nginx 配置入門

綠色檔案,無須安裝,直接即可啟動。據我所知,3種啟動途徑,其實都類似 一 雙擊nginx.exe圖示,可見黑視窗一閃而過,啟動完畢。二 命令列到nginx目錄,輸入nginx啟動。注,此方式命令列視窗無任何提示,且被鎖定 三 命令列到nginx目錄,輸入start nginx啟動,此方式不鎖定 啟動...

Nginx Nginx配置入門

本篇文章不會做深入講解,閱讀本篇文章,也只能使你對配置有簡單了解.配置這部分內容比較多,像前篇所提到的靜態資源伺服器,虛擬主機,反向 都是需要依靠合理配置來實現的.配置檔案名為 nginx.conf 預設位於 etc nginx nginx.conf 如不確定,可以使用 nginx t 或 loca...