memo:fileQでcgiのsinatra
railsはメンドイ。rails使うぐらいなら速いしphp使ったほうがいいとおもう。
でもcakeも大概設定メンドイ。という時はsinatraかもしれませんね、
という射程範囲です。(つーか隣の人がsinatraでなんかつくっててsinatra気になった。)
で、貧乏人は月額100円でmysql+mail+ドメインのサービス+ruby(rails)とかphpとかperlとか
可能なfileQはすごく幸せ。cronもあります。ssl証明書もあります。sshログイン可能です。emacsとか唱えられます。.htaceess可能です。javaは使えない。
なんだか安すぎて潰れるのがしんぱい。実験場として最高だと思うのです。
初めての有料ホスティングだー。わーい。で、sinatraをcgiで動かしてみる。
管理
すごくご機嫌なcPanelっていうインターフェースがあります。
たいがいの事はここでできます。日本語訳してあるけどドン引きのわかりにくさなので
英語モードにしよう。
cgiの動作仕様
どこでもOK。
拡張子cgiじゃなくて拡張子rbで動かしたいならcPanelからaddhandlerを追加。
もちろんchmod 755で実行可能に
gemでsinatraインストール
cPanelから
cgi確認
#!/usr/bin/ruby
puts "Content-type: text/html\n\n";
puts "Hello, World.";
sinatraいれてみる
gemコマンドはcPanelから
でもちょっと癖があってgemsを読まない
fileQでは~/ruby/gemsにgemのインストール先があるらしい。
ttp://あなたのサーバーのindex.cgiまでのパス/index.cgi
でアクセス可能なようにしていきたい。
スクリプトの中で気合でライブラリを読み込み可能なように設定する。
File Edit Options Buffers Tools Help
#!/usr/bin/rubyENV['GEM_HOME'] = '/home/アカウント名/ruby/gems'
require "rubygems"
require "sinatra"set :run, false
set :environment, :cgiget '' do
"sinatra cgi root"
endget '/' do
"sinatra cgi slash"
endget '/hello' do
"sinatra cgi hello"
endRack::Handler::CGI.run Sinatra::Application
.htaccessでindex.cgiとか書かなくてもアクセス出来るようにしたい。
sinatraは~/www/cgi-bin/sinatratest/index.cgiにいます。
RewriteEngine on
RewriteBase /cgi-bin/sinatratest
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.cgi/$1 [L,QSA]
cgiでrubyなsinatraの速度とかわかんない。
そもそもここまで安いfileQでレスポンス速度とか求めるのはなんかちがう気がする。
で、sinatraは使ったことありません。暇なときに今後触っていくのだと思います。
暇は出来そうにありません。したがってコレにて完の悪寒。企画書かかねば。仕事しろ俺。
以上です。