tadaogi @Wiki

USL-5P+lighttpd+fastcgi+ERB

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集

目標

USL-5Pにlighttpdを入れて、ERBをfast-cgiで動かす。
別の環境(sh4+kernel 2.4)に移植する必要があって、訳アリで単なるcgiは不可(というか、signal周りがバグっていてcgiでは動かない。fastcgiが動くのは確認済み。)

lighttpd

apt-get install でいきなり入った。confとrcは入らないみたいなので、手作業で入れる。

fast-cgi

ruby-fcgiは、pure ruby でも動くはずだけど、インストールしようとするとfcgiがないと言って怒られるので、深く突っ込まずにfcgiをソースから入れた後でruby-fcgiを入れる。

ERB

xxx.rhtmlをfast-cgiで動かしたいけど、dispatcherがよく分からないので試行錯誤。結局こんな感じになった。


 #! /usr/local/bin/ruby
 require 'fcgi'
 require 'cgi'
 require 'erb'
 FCGI.each_cgi {|cgi|
   puts cgi.header
   doc_root = cgi.env_table['DOCUMENT_ROOT']
   doc_name = doc_root.chop + cgi.env_table['SCRIPT_NAME']
   script = IO.read(doc_name)
   erb = ERB.new(script)
   erb.run(binding)
 }

require 'cgi'はいらないかも。bindingを渡しているので、rhtml側でcgiのパラメータにアクセスできる。

 <html>
 <head>
 <title>
 erb test
 </title>
 </head>
 <body>
 abc
 <%= Time.now %>
 <%= cgi.request_method %>
 <%= cgi.params %>
 </body>
 </html>

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

目安箱バナー