目标:安装Hunchentoot并能够将Hunchentoot作为后台线程运行。
这就是我的所作所为:
(ql:quickload "hunchentoot")
(hunchentoot:start (make-instance 'hunchentoot:acceptor :port 4242))
最后一个命令应该启动Hunchentoot,然后返回解释器以获取更多Common Lisp表单。
对于CLISP,SBCL,ABCL,ECL和CCL,我得到两个结果之一:
hunchentoot:start
挂起。网页永远不会加载,永远不会加载404。答案 0 :(得分:1)
AFAIK CLISP和SBCL的win32实现不支持多线程,而Hunchentoot依赖于此功能(依赖于Bordeaux Threads)。 Hunchentoot适用于Clozure Common Lisp。
答案 1 :(得分:1)
LispWorks是Hunchentoot设计的平台,可在所有三个操作系统上使用。
答案 2 :(得分:1)
Lispbox提供了CCL,CFFI,线程,Emacs和SLIME的工作副本。 Quicklisp和Hunchentoot运作良好。还没有安装程序,但是有用的东西可以工作:)
答案 3 :(得分:0)
无论操作系统如何,如果在SBCL中返回nil,您将需要启用线程:
(find :sb-thread *features*)
启用线程:使用预编译的SBCL,从源代码编译最新版本,但请注意启用线程的INSTALL指令。您将创建一个名为“customize-target-features.lisp”的文件,以包含说明中给出的lambda表达式。 (提示:从'screen'中分离编译,重定向到日志文件或类似文件,因为终端窗口可能会受到i / o限制,实际上会减慢编译速度。)
为Linux预编译的SBCL启用了线程,但是为MacOSX,FreeBSD和Windows预编译时没有启用线程。这可能会随着将来的版本而改变。
我已经确认使用当前版本的SBCL(已编译为启用线程)和MacOSX 10.6.6 / x86-64上的QuickLisp,您应该使用“Hunchentoot 1.1.1(SBCL 1.0)获取”Hunchentoot默认页面“ .46)在localhost:4242“访问http://localhost:4242/时。