karrigell配置說明

2021-05-24 12:50:45 字數 2379 閱讀 7716

配置

配置被定義為三種級別:

python karrigell.py [serverconfigdirectory]

預設情況,這個目錄就在karrigell.py所在的目錄

3.主機配置指令碼:定義在每個主機的data目錄下的conf.py中;對於本地主機,它在data/www中

每乙個主機都可以通過指定的配置檔案來配置。在主機名和它的配置檔案之間的對映定義在文字檔案hosts中,在伺服器配置目錄中

伺服器配置

指令碼定義了下面的值

karrigell_dir

這個目錄是karrigell核心安裝的目錄:core和package存在的地方

host_conf_dir

這個目錄是主機相關的配置檔案hosts所在的地方

port

伺服器執行的埠號

persistent_sessions

大多數情況下這個選項最好為true,意味著會話資料儲存在硬碟上:存在記憶體中不是很安全,在乙個多執行緒的環境中,或者是內奸多執行緒伺服器,或者是在apache後面。

這限制了會話資料可以被pickle模組序列化

當你需要儲存unpicklable的python物件作為會話資料,你可以設定persistent_sessions為false。

正如上面提到的,這樣會使伺服器僅工作於單程序,單執行緒的,比如karrigell_monoprocess.py或者karrigell_async.py上。

cache

布林型別的變數,指明是否使用http緩衝。預設為true.

ipv6

布林型別的變數,是否用ipv6代替ipv4。預設為false.

max_threads

可用的最大執行緒數

process_num

多程序伺服器可以用的程序數

silent

布林型別的變數,說明伺服器是否會寫日誌資訊到sys.stderr,對於每乙個請求

module

對請求過程的名字的目錄對映到乙個模組列表中。當指定的步驟達到時,每個模組中的main函式提供給請求控制代碼的物件。

主機配置

root_dir

這個變數是根目錄的全名,這個目錄是你想要提供服務檔案的地方。預設是www作為伺服器目錄

data_dir

cache_dir

指令碼緩衝所在地。緩衝避免了每次執行都去解析指令碼;當指令碼原始碼改動的時候它們才會更新,如果設定為none,緩衝功能就除能了。

cgi_dir

cgi指令碼存放的地方

allow_directory_listing

當url匹配的目錄中沒有index檔案,則顯示目錄列表。如果值為['admin','edit']所有的使用者都可以看到列表,如果none在列表中,僅有'admin'或者'visit'角色的使用者可以看到列表;其他的使用者將會得到錯誤資訊。預設為[none]。    

hide_extensiions

副檔名列表將會隱藏(返回403錯誤)

ignore

匹配url路徑的正規表示式列表;如果匹配成功伺服器將返回錯誤403

ignore = [".*/cvs/.*"]

logging_file

日誌檔案的路徑。如果沒有設定,則不執行日誌功能

logging_rotate

如果logging_file設定了,這個變數說明日誌檔案將會被改變。如果設定為none,將會使用同樣的日誌檔案。

如果設定為"monthly","daily",「hourly」,日誌檔案將會按時間改變。日誌檔案的名字後面會新增month/day/hour

output_encoding

字串=編碼,指定傳送資料回客戶端的編碼

alias

對映到檔案系統目錄的目錄別名。

alias =

那麼http://localhost/scripts/index.html將會使用c:/my documents/karrigell scripts/index.html

debug

說明你希望詳細的資訊,包括python traceback,列印指令碼執行中可能的錯誤或異常。預設為true。如果為false,僅會列印類似 "server was unable to process the request"的句子,沒有其他細節。

gzip

如果為true,使用者**支援gzip編碼(大部分瀏覽器都支援),伺服器壓縮資料然後傳送給客戶端。這將減少網路負載,但是會讓伺服器變慢。

global_modules

必須被匯入到每乙個指令碼中的模組列表

global_modules = ["/usr/scritps/myscript.py"]

模組名myscript將會在命名空間中對所有指令碼可用

max_sessions

可以被儲存的最大會話數。預設為500

Karrigell 初次學習

今天按照 http karrigell.sourceforge.net en front.htm 教程,一口氣學完了 karrigell 的入門內容,一邊看一邊試驗完了所有的基本功能。感覺很興奮。這個框架可謂是麻雀雖小,五臟俱全。而且語法直觀,使用也非常的靈活。另外,在 unicode 的處理方面和...

Karrigell 入門簡介 2

scripts和services python scripts和karrigell services將是python開發者使用karrigell最容易接觸的兩個概念.python scripts就是python的指令碼,開發者使用print語句輸出到使用者瀏覽器的內容.如果你還不明白,建立乙個tes...

Karrigell 入門簡介 3

使用hip 在askname.py,有一件事情值得注意,這個 鎘刑 嗟膒rint語句.如果可以不使用print而直接輸出,那將會是一件多麼好的事情.幸運的是,karrigell提供了這樣的功能.這被稱為html inside python,這將清除所有討厭的print語句.並且從askname.py...