Kangaroo-egg(袋鼠蛋)是完全采用java技术开发的一个结构清晰、效率优越、功能强大且将来必定会开源的web服务器。其完全遵循http1.1规范,同时具有开发动态网页及应用的功能,可以适用于各种中小型网站和web应用。kangaroo-egg拥有自己的开发语言DQM及容器(类似于Servlet/JSP),可以很容易开发出满足各种业务要求的web应用。相信不久的将来kangaroo-egg也将会成为流行的web开发平台。
本章将简单介绍kangaroo-egg工作过程及其结构,最后介绍如何安装和启动kangaroo-egg服务器。
kangaroo-egg类似于JSP服务器,拥有自己的容器用于执行动态文件,我们称之为DQM容器和dqm脚本语言。DQM是一种运行在支持Java语言的服务器上的组件,此组件是kangaroo-egg的一部分,其功能是执行用dqm脚本语言编写动态文件。如果您知道asp、jsp或php则dqm就是与这些脚本语言类似的语言,而且dqm与jsp非常类似,如果您熟悉jsp则学dqm就如囊中取物一样简单。
那么DQM容器有什么特点呢?首先dqm脚本语言非常简单易学。其次DQM容器也是先将dqm脚本编译后再执行。最后DQM容器可以让用户指定可执行动态文件扩展名。表1-1-1将dqm与其他几种脚本语言作了比较。
脚本语言 |
执行脚本语言的容器 |
可执行动态文件扩展名 |
执行过程 |
ASP |
微软IIS服务器(内置执行asp的容器) |
.asp |
边解释边执行 |
JSP |
Tomcat等服务器(内置执行jsp的容器) |
.jsp |
编译后执行 |
PHP |
Apache HTTP等服务器(内置执行PHP的容器) |
.php |
边解释边执行 |
DQM |
kangaroo-egg服务器(内置执行DQM的容器) |
用户自己指定,默认.dqm |
编译后执行 |
表1-1-1
kangaroo-egg服务器因为采用java技术开发所以可以跨平台使用,不过我们仅在windows、redhat linux和Solaris 10三个操作系统下做过严格测试,其他平台或许会有兼容性问题。
安装kangaroo-egg服务器之前必须已安装JDK1.5,至于如何在各操作系统上安装JDK1.5请参考其它相关资料。
注意:kangaroo-egg服务器只能运行于JDK1.5及以上版本。 |
官方目前发布的都是zip格式的压缩包,安装非常简单,只需要解压即可,但要配置一下。解压后的目录结构见图1-2-1。
图1-2-1
总共有三个目录,classes就是主程序目录,conf是配置文件所在目录,webapp是官方缺省安装的一个web应用。
进入classes目录后就会看到run.bat和run.sh二个文件,其中run.bat是用于在windows下启动服务的脚本命令,而run.sh是用于在redhat linux和Solaris下启动服务的脚本命令。不过现在还不能执行,首先必须配置一下这二个脚本命令。
1. 在windows下编辑run.bat文件,你会看到如下内容:
图1-2-2
注意红框内的XXX,请将此XXX换成JDK安装的目录,比如你的JDK安装在c:\jdk1.5下面则替换成如下内容:
图1-2-3
之后就可以执行run.bat,成功后可以看到如下内容:
图1-2-4
如果想让kangaroo-egg在windows的后台运行即没有dos窗口,可以修改java变成javaw,不过在dos窗口中显示的信息就无法看到了。修改后的内容如下:
图1-2-5
2. 在linux和solaris下编辑run.sh文件,你会看到如下内容:
图1-2-6
同样注意红框内的XXX,请将此XXX换成JDK安装的目录,比如你的JDK安装在/jdk1.5下面则替换成如下内容:
图1-2-7
之后就可以执行run.sh,成功后可以看到与图1-5相似的提示。
注意:run.sh属性必须是可执行,请在linux和unix下修改(修改方法参建linux和unix相关命令),否则将无法执行。 |
如果想让kangaroo-egg在linux和solaris的后台运行即没有控制台窗口,也可以采用如下命令执行:./run.sh &
注意:linux和unix下还有一个nohup命令可以将程序在后台运行。 命令执行:nohup ./run.sh & 执行后会在当前目录下自动生成nohup.out文件,所有在控制台显示的内容都会自动存入此文件中。不过访问量大时有可能会引起死机。 |