1. Introduction
2.Installing Karrigell
为了运行Karrigell,进入服务器文件夹然后打开控制台窗口运行:
在浏览器中输入http://localhost
,我们会看到
Karrigell
的主页。
我建议设置管理员用户名和密码:它们可用于许多程序,包括可用来管理Mysql或sqlite数据库。因此我们打开控制台窗口然后进入admin文件夹运行script k_password.py
然后输入用户名和密码。
3. The Web server
默认内置的web server是异步的,就像Python的标准模块asyncore
和 asynchat
。经过我测试后,发现它们很好用响应速度很快。
3.1 The Root Directory
刚安装Karrigell时,根目录默认是服务器目录下的webapps子目录。我们可以修改配置文件来改变这个设置。
3.2 Serving static files
要在Karrigell里使用静态文件(HTML文件,GIF或JPEG图像,等)我们可以使用自己喜欢的工具创建然后把它们放在根目录里。
假设我们新建一个HTML文档叫做myFile.htm并把它放在根目录里,然后打开我们的浏览器输入d地址: http://myhost/myFile.htm,我们就可以看到文件显示在浏览器里了。
如果我们把静态文件放在一个子目录里,那么我们就需要给它起一个名字:如文件myImage.gif放在子目录Images里,我们就可以访问http://myhost/Images/myImage.gif。
要想把这些文件放在根目录以外,我就要用到别名了。
如果一个地址没有指定文件名但是匹配一个目录,那么服务器将会依次查找index.html,index.htm,index.py,index.pih,index.hip或index.ks。如果都没有找到就会打印出这个目录的所有子目录和文件,如果找到多个index文件将会触发一个异常。
如果在路径里没有指定文件的扩展名,服务器就会查找文件可能的一个扩展名html,htm,py,pih,hip或ks。如果找到一个,这个文件就会被访问;如果找到多个文件名相同的文件,将会触发一个异常;如果文件没找到也会触发一个异常。
3.3 Command line options
python Karrigell.py [-P port] [-S] [-D] [initFile]
参数:
- port是HTTP的端口号(默认是80)
S
代表"
silent
"模式:默认的
Karrigell
打印出收到的每一个请求的跟踪信息。使用
-S
选项,将不会打印出来。
D
设置调试等级为1
initFile是一个配置文件。默认的是服务器目录下的Karrigell.ini文件。
. Configuration options
%(base)s/的地方。
[Directories]
root
cgi
protected
AuthentScript.py的脚本,在访问这些目录时首先执行这个脚本。这个脚本是把admin目录下的AuthentScript.py复制过来的。
默认的只保护
admin目录。可以使用“;”来分隔目录。
allow_directory_listing
- all = all users
- none = no user
hide_extensions
hide_paths
一个匹配
url的正则表达式;如果匹配成功服务器会返回403错误。
它可以用来禁止访问一组目录。例如新建一个叫
cvs的版本控制的目录并且不希望别人访问,可以这样设置:
hide_paths = .*/cvs/.*
loggingFile
loggingParameters
[Applications]
[Alias]
scripts=c:/My Documents/Karrigell scripts
然后访问
htpp://localhost/scripts/index.htm
实际上访问的是
c:/My Documents/Karrigell scripts/index.html
[Server]
port
reload_modules
debug
silent
gzip
global
global=%(base)s/myScript.py;%(base)s/myScript1.py
ignore
[Translation]
lang=default,如果想转换成英语可以设置
lang=en
,等。
[VirtualHost name]
[VirtualHost name]
root = /web/mydir