apache配置入門筆記
2011-10-24
0 收藏
apache是乙個http伺服器,在無連線的時候,它除了監聽配置檔案中指定的ip位址和tcp埠號外不做任何工作;當乙個請求出現在乙個有效的埠時,apache接受http請求並分析其頭部,然後它根據配置檔案中設定的規則,做出某種合適的動作。
apache通過乙個配置檔案進行設定
可以通過命令列引數 -f 指定
配置檔案內通過include可以包含其他的配置檔案
用 listen 指定要繫結的埠號
listen 80不同的ip和埠組合可以用來做虛擬主機,這需要通過virtualhost進一步配置(必須先用listen設定監聽位址)listen 127.0.0.1:8080
listen 10.0.2.15:8081
listen [fe80::222:5fff:feb9:82d0]:8888
...虛擬主機可以基於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在路徑上,儘管它們都可以接受shell風格萬用字元,但更複雜的匹配則需要使用相應的支援正則的版本deny from all
可以通過在目錄下放置乙個.htaccess檔案對該目錄進行控制。
主配置檔案內的:
addtype text/example .exm等價於在該目錄下的.htaccess檔案中放入:
addtype text/example .exm但這個不建議被使用(除非沒有主配置檔案的設定許可權)了。
與前面的directory和files針對的磁碟檔案路徑不同,location設定的是url位址中路徑部分。
比如:
order allow,deny將禁止訪問等所有以 /private 開頭的路徑deny from all
這個東西會3組模組(真的比較繁...,使用loadmodule載入):
首先設定認證型別(使用authtype指令,目前只支援兩種?)
根據認證型別選擇認證支援模組(通過authbasicprovider或authdigestprovider)設定,提供密碼等驗證資訊
authdigestprovider
設定授權支援模組(參考require指令?),意圖是:如何使用前面的密碼資訊?
authtype basic密碼檔案通過htpasswd來生成,對於digest方式,則需要使用htdigest來生成密碼檔案。authname "from example.com"
#authbasicprovider file
authuserfile /usr/apache2/passwd/passwords
require user debao
這二者可以提供簡單的基於ip位址的訪問控制
order deny,allow當瀏覽器請求乙個檔案時,伺服器一般都需要同時提供mime資訊deny from all
allow from 192.168.0.2
對於純文字檔案,如果讓伺服器提供編碼資訊。adddefaultcharset指令可以做到,不過這會覆蓋html等檔案自身提供的編碼資訊。
使用 scriptalias指令可以設定cgi目錄
scriptalias /cgi-bin/ /usr/local/apache2/cgi-bin/如果在該目錄之外的以某種字尾結尾(.py)的檔案作為指令碼,則需要使用
options +execcgi首先是options中允許cgi指令碼執行,然後使用addhandler設定。addhandler cgi-script .py
如果某個目錄下全是cgi指令碼,則可以使用
sethandler cgi-script對於python來說,cgi方式應該不怎麼使用了吧。主要是wsgi這種方式了。
在apache配置檔案中使用
loadmodule wsgi_module modules/mod_wsgi.sowsgiscriptalias /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...