自前の sakuraサーバー に Nginx をインストールできたんで、FastCGI で Common Lisp(caveman2) につなげてみるけぇ。
ここ を参考に。
今回はタイトルの「フレームワーク」ってのとことは関係ないんじゃけどね。
まぁ、細かいこたぁええんじゃけぇ。
ほいじゃぁやるわ〜
cl-fastcgi のインストール
とりあえず cl-fastcgi をインストールしとく。
ローカル環境(openSUSE)でやったときは何か無いって叱られたけぇ。
あ、 やっぱし叱られた。libfcgi.so じゃったか。
> (ql:quickload :cl-fastcgi) Unable to load any of the alternatives: (CL-FASTCGI::PATH "libfcgi.so") [Condition of type CFFI:LOAD-FOREIGN-LIBRARY-ERROR]
ほいじゃぁ libfcgi.so 入れるために apt-cache search FastCGI
でパッケージを検索。
なんかイロイロ出てくるけど libfcgi-dev
じゃったような。
とりあえず apt-get install libfcgi-dev
でインストール。
んで再度、cl-fastcgi をインストール。
うん。イケとるねぇ。
> (ql:quickload :cl-fastcgi) To load "cl-fastcgi": Load 1 ASDF system: cl-fastcgi ; Loading "cl-fastcgi" .. (:CL-FASTCGI)
handler(caveman) を FastCGI で起動。
オペレータ start
で 起動 パラメータは :server
に :fcgi
を指定 :port
は適当に自分で決めたやつを指定。 (ここでは 55556 を指定)
問題なく起動。
> (start :server :fcgi :port 55556) To load "my-package": Load 1 ASDF system: my-package ; Loading "my-package" To load "clack-handler-fcgi": Load 1 ASDF system: clack-handler-fcgi ; Loading "clack-handler-fcgi" Fcgi server is started. Listening on localhost:55556. #<CLACK.HANDLER:<HANDLER> {100542AFD3}>
nginx の設定を変更。
/etc/nginx/nginx.conf
の html セクションに server セクションを追加。
fastcgi_pass 127.0.0.1:55556;
のところで Common Lisp 側の FastCGI を指定。
今回は同じサーバー内じゃけぇ IP は 127.0.0.1(localhost) を指定。
port は 上で起動した handler に指定した ポートを指定。
こんな感じ。
server { listen 80; server_name host.name.ne.jp; location / { fastcgi_pass 127.0.0.1:55556; include fastcgi_params; } }
たぶんこの指定が最小単位。
include fastcgi_params;
削ったら caveman 側でエラーになったけぇ。
ほかのディレクティブは本でもかって読みんさい。
んで、Nginx を再起動。
うんとこしょ /etc/init.d/nginx restart
っと。
FastCGI でつながったか確認。
ブラウザから host.name.ne.jp の ポート:80 に接続。
無事 Welcome to Caveman2!
の表示を確認。
イケたっぽいね。
めでたしめでたし。
今度は複数の Common Lisp につなげてみようかねぇ。
ほいじゃぁ、また。
- 作者: Dimitri Aivaliotis,高橋基信
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/10/26
- メディア: 大型本
- この商品を含むブログ (7件) を見る
カベ雄の次男(caveman2) でWebフレームワーク。
- とりあえず起動までの巻
- NginxとFastCGlをつなぐの巻 (今ここ)