読者です 読者をやめる 読者になる 読者になる

ほんとのこと知りたいだけなのに。

夏休みはもうおわり。

カベ雄の次男(caveman2) でWebフレームワーク。 (とりあえず起動までの巻)

openSUSE Common Lisp caveman gluelisp SBCL Hunchentoot

WEBアプリ書くのんは Common Lisp でしかやったことがのぉて、自分で書きたいように書いとったんよ。

でも、「Webアプリのフレームワーク使ぉたほがエエよ」って勧められたけぇ caveman2 使ぉてみることにしたけぇ。

インストール

普通に ql:quickload で完了。

(ql:quickload :caveman2)

プロジェクト(のスケルトン)生成

caveman2 はスケルトン作ってくれるんじゃ。

これがWebフレームワークと言うもんなんじゃね。

今回はプロジェクト名を gluelisp とするけぇ。

とりあえず生成。問題なし。

(caveman2:make-project #P"/{path}/gluelisp/"
                       :author "Satoshi Iwasaki")

cl-project みたいじゃね。

スケルトン。。。。VC++でスケルトン初体験で「なんじゃこりゃ!!」ってなって放置したん思い出した。。。実に20年前。。。。懐しいな〜

プロジェクトのロード

caveman2 で作成したプロジェクトをロードするけぇ。

caveman2作成されたプロジェクトのファイル gluelisp.asd のシンボリックリンクを作成する。
場所は asdf:*central-registry* に指定されとるところ。

んで ql:quickload でロード。でおわり。

(ql:quickload :gluelisp)
To load "gluelisp":
  Load 1 ASDF system:
    gluelisp
; Loading "gluelisp"
[package gluelisp.config].........................
[package gluelisp.view]...........................
[package gluelisp.db].............................
[package gluelisp]................................
[package gluelisp.web]..
(:GLUELISP)

Httpサーバーの起動

とりあえず hunchentoot で起動。

うん。動いとるけぇ問題なさそうじゃね。

> (in-package :gluelisp)
#<PACKAGE "GLUELISP">
> (start :server :hunchentoot :port 8080)
Hunchentoot server is started.
Listening on localhost:8080.
#<CLACK.HANDLER:<HANDLER> {10052F0073}>

んで http://localhost:8080/ にアクセス。

無事「Welcome to Caveman2!」が表示されとる。

めでたし。めでたし。

簡単じゃねぇ。

FastCGIも利用したことがないけぇ使ってみたいねぇ。

とりあえず Nginx入れよ。

Nginx は hellow world くらいしかやったこと無いけぇ「マスタリングNginx」 をとりあえずポチッといた。

マスタリングNginx

マスタリングNginx

次は具を盛るわ〜


カベ雄の次男(caveman2) でWebフレームワーク。

  1. とりあえず起動までの巻 (今ここ)
  2. NginxとFastCGlをつなぐの巻