如何在项目上启动Hunchentoot?我查看了Edi Weitz的指南,一切顺利,直到安装完毕。列出的教程要么在实际服务器使用情况下被破坏或略过。
我有我的asdf文件,使用quicklisp安装了依赖项,并设置了一个调度表。如何让Hunchentoot使用这些东西?
答案 0 :(得分:1)
您在start
的实例上调用acceptor
。
如果您使用hunchentoot附带的基本easy-handler
机制,那将是easy-acceptor
。
您需要有一个机制来启动和停止服务器。这可能是这样的:
(defvar *acceptor* nil)
(defun start-server ()
(stop-server)
(start (setf *acceptor*
(make-instance 'easy-acceptor
:port 4242))))
(defun stop-server ()
(when *acceptor*
(stop *acceptor*)))
答案 1 :(得分:1)
为了更新,我对Svante的回答进行了改进:
(defun start-server ()
(stop-server)
(start (setf *acceptor*
(make-instance 'easy-acceptor
:port 4242))))
(defun stop-server ()
(when *acceptor*
(when started-p *acceptor*
(stop *acceptor*))))
在启动服务器之前, acceptor 为零。服务器启动后(即使它随后被停止)它不再是零。 started-p测试检查是否启动了初始化的easy-acceptor。如果您尝试停止已停止的接受器,则会收到错误。
答案 2 :(得分:0)
(start (defparameter hunchentoot-listener
(make-instance 'easy-acceptor
:port 4242
:document-root #p"/path/to/your/html/")))
将在端口4242(http://localhost:4242/)
上为您提供正在运行的Web服务器