|
Top > さくらインターネットでgateway.cgiを使用してRuby on Railsのサンプルを公開する
参考サイト
railsプロジェクトの作成
- RailsProjectsフォルダに移動
- Todoプロジェクトを作成
- Todoプロジェクトのフォルダに移動
- logとtmpディレクトリを書き込み可に変更
- sqlite3のデータベースを作成
- データベースのテーブルを作成
- % ruby script/generate scaffold Todo title:string body:text
- マイグレート
- シンボリックリンクの作成
- % ln -s $HOME/RailsProjects/Todo/public/ $HOME/www/todo
- READMEを参照し、/Todo/publis/.htaccessを新規に作成。以下3行をコメントアウト。
#AddHandler fastcgi-script .fcgi
#AddHandler cgi-script .cgi
#Options +FollowSymLinks +ExecCGI
- /Todo/config/environment.rbを編集
$LOAD_PATH.push("/home/my_acount/lib/")
$LOAD_PATH.push("/home/my_acount/lib/ruby")
ENV['GEM_HOME'] ||= '/home/my_acount/lib/ruby/gem'
ENV['RAILS_RELATIVE_URL_ROOT']="/todo"
- http://my_account.sakura.ne.jp/todo/todosにアクセス
- fastcgiのインストール
- % cd ~/src
- % wget http://fastcgi.com/dist/fcgi-2.4.0.tar.gz
- % cd fcgi-2.4.0
- % ./configure –prefix=$HOME
- % setenv RB_USER_INSTALL true
- % gem18 install fcgi ― –with-fcgi-include=$HOME/include –with-fcgi-lib=$HOME/lib
- gatewai.cgiの設定
- % cd ~/RailsProjects/Todo
- % mkdir log/drb_gateway
- % chmod 777 log/drb_gateway
- % setenv RAILS_DIR /home/ohhappy/lib/ruby/gem/gems/rails-2.2.2
- % cp $RAILS_DIR/dispatches/gateway.cgi public/
- % cp $RAILS_DIR/lib/commands/ncgi/listener script/
- % cp $RAILS_DIR/lib/commands/ncgi/tracker script/
- % chmod 755 public/gateway.cgi
/RailsProjects/Todo/script/listerの編集
require 'rubygems'
gem 'fcgi'
- 「class RemoteCGI < CGI」の「self.stdoutput = output || StringIO.new」の後ろに、以下を挿入。
$stdin = self.stdinput
$stdout = self.stdoutput
- public/.htaccessの編集 dispatch.cgi → gateway.cgi
RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
↓
RewriteRule ^(.*)$ gateway.cgi [QSA,L]
- 設置URL/todo/todosにアクセス
- 最初のアクセス時「Application error」が出るが、リロードすると動く。なんで??
- 速度は、かなり早くなった気がします。
- しかし、Ruby on Railsを私のスキルで運用するのは難しそうです。(汗)
|