タグ : FastCGI
実際にRailsアプリを移植する ようやく Ruby on Rails アプリの移行が完了しましたので、備忘録を残していきます。 さくらインターネットとCORESERVERの違い MySQL 4.0.27 ⇒ 5.1.2.2rc MySQLがUTF8対応 MySQLデータベースを複数持てる FastCGI対応 これが意外とエラーを起こしました。 まず、当然として"environment.rb"の"GEM_HOME"を前回設定した"GEM_HOME"に直します。 $LOAD_PATH.push("/home/xxx/lib/ruby/site_ruby/1.8") $LOAD_PATH.push("/home/xxx/lib/ruby") ENV['GEM_HOME'] ||= '/home/xxx/lib/ruby/gem' ↓ $LOAD_PATH.push("/virtual/xxx/lib/ruby/site_ruby/1.8") $LOAD_PATH.push("/virtual/xxx/lib/ruby") ENV['GEM_HOME'] ||= '/virtual/xxx/lib/ruby/gem' 続いてデータベースをUNICODEで作成する。 UTF8で統一(XREA + MySQL + Ruby) | Diaspar Journal 更に"database.yml"の設定を作成したデータベースにあわせる。その際に"encoding: utf8"を指定しておく。 そしてそのままソースをUP。"rake db:migrate"でDBを作成し、実行してみるが、「Script Not Found」というエラーが。。。更になにもいじらずに更新してみると、「Application Error」に。。。 一から作り直す 挙動が明らかにおかしいので、一から作り直してみることに。railsコマンドでプロジェクトを作成し、"environment.rb"、"database.yml"と、appフォルダ、dbフォルダ、publicフォルダ下の3つフォルダを上書き。 実行してみると。。。動いた!! FastCGIのおかげか、挙動が物凄く早い!! まったくロード感がないし、Amazon A2S(ECS)を実行してみても、まったく待ち時間がない!! Ajax系の入力補助(マスタを用いたオートコンプリート機能を実装してます)も早くて快適でした!! 結論、Ruby on Railsを実行するには、さくらインターネットよりCORESERVERの方がいいです。早々にMTごとCORESERVERに移りたいと思います。 ※ ちなみに MySQL 5.1 になると結構予約語が増えていて、私は二個ほどフィールド名とかぶってエラーになりました。CORESERVER上のMySQLの予約語はこちらからご確認ください。 MySQL :: MySQL 5.1 リファレンスマニュアル :: 8.3 MySQLでの予約語の扱い - [ 続きを読む ]
CORESERVER移管計画 さくらインターネットの問題点 : MySQLのUTF-8対応 さくらインターネットのMySQLはバージョン"4.0.27"というかなり古いバージョンで、UTF-8に対応していません。"Ruby on Rails"を扱う場合は文字コードはUTF-8が基本となっていますが、MySQL内でデータが文字化け状態になることさえ許容できれば、まったく問題なく運用できます。 しかし、今回、私は不満を持ってしまいました。理由はバックアップ・レストアができない点です。現在、さくらインターネットでRailsを用いたwebアプリを開発していますが、開発の過程でDB設計の見直し等が発生した場合、マスタデータの出し入れなどが必要となってきました。その際、文字化けして保存してあるデータをMySQLのエクスポート機能で出力しようとすると、エラーが発生しました。せめてインポートさえできるのでしたら、取込データを用意しておくのですが、UTF-8での取込は不可能なので、どうやってもEUC等で保存され、Railsで呼び出すとエラーになってしまいます。 2008年11月13日追記 MySQL 4.0.* ではSQLのサブクエリができないことが発覚。決定的に断念 MySQL :: MySQL 4.1 リファレンスマニュアル :: 6.4.2 サブクエリ構文 事実、初期の SQL が “構造化問い合わせ言語” と呼ばれるようになったきっかけは、 サブクエリにある。 そもそも、FastCGIが利用できないさくらインターネットではデータの1件保存だけでも数秒かかります。さくらインターネットでRailsアプリを動かすことに限界を感じていたことですし、そろそろ違うサーバーを検討してみることにしました。 CORESERVER 新しいサーバーを探していると、10年以上前に一時期お世話になったことがある「XREA.COM」の新サービス「CORESERVER.JP」を発見しました。 FastCGIも使えて容量も申し分なく、値段は月額1,000円と非常にお買い得でした。とりあえず15日の試用を試してみることに。 ドメイン 「CORESERVER」の登録には「VALUE DOMAIN」への登録が必要なようです。「VALUE DOMAIN」はドメインを購入できるサイトです。 「WebEyes」から「さくらインターネット」へ、更に「CORESERVER」へと、最近、よくサーバーを移転するのでドメインがあれば便利だな~と考え、ついでに購入を検討してみることに。 料金的には、gTLDドメインは主に年額990円と安いので、購入を決定。ドメイン名称の案としては、短く「deme.xxx」がいいと思いましたが、かつての個人名ドメイン「.name」しか空いていなかったので、「demenaoto.xxx」にすることに。 「demenaoto.xxx」はどこも空いていましたので、どれを購入するか検討。最近は企業専用という色合いも薄れてきたメジャーな「.com」と、ネットワークという微妙な分類でわりと個人に親しまれている「.net」で迷い、「demenaoto.net」を購入。「.name」や「.com」をあまりよろしくないと思ってしまう辺り、どうやら私は昔の感覚が抜け切らない、古い考え方を持っているみたいですね。 2008/11/13追記 VALUE DOMAIN のドメインをさくらインターネットで使用する方法。移行が完了し次第、CORESERVERに設定し直すつもりなので、二度と参照しないかとは思いますが、念の為、備忘録。 ValueDomainのドメインをさくらのレンタルサーバで使う :アドサイト・プロについて CORESERVER SSH接続 CORESERVERの契約はあっさり終わりました。調査しているときからわかっていたことですが、「CORESERVER」への遠隔地からのアクセスは「Telnet」ではなく「SSH接続」でした。開始方法はこちらを参考に。 CORESERVERにSSHでアクセスする | stick stack ちなみに私は仕事場ではWin2k、自宅ではWinXPとVistaなので、当然SSHなんてものは入っていません。WindowsでSSH接続をする方法を調査すると、このようなサイトが見つかりました。 WindowsでのSSH利用方法 「UTF-8対応 TeraTerm Pro」などというソフトは聞いたことはありませんでしたが、Vectorで見てみるとランキング一位になっていました。とりあえず問題なさそうだと考え、インストール。「CORESERVER」での使い方についてはこちら。 XREA/CORESERVERとのSSH接続 無事、登録できました。 次回はこちらを参考に「Ruby on Rails」環境を構築する予定。 CORESERVERにRuby on Railsをインストールする | stick stack - [ 続きを読む ]
さくらインターネット イー・モバイル ウルトラモバイル データカード フリーソフト プラグイン 拡張機能 新にねん 楽天 雑記 901-X 2008年冬 Amazon A2S Amazon ECS API Chrome CORESERVER DB2 Eee PC FastCGI Firefox gem Google Google App Engine Google IME Greasemonkey Mobile MovableType MySQL Netbook NTT ドコモ NTT DoCoMo PeopleSoft Programing Python RoR Ruby on Rails Server SQL SSH Tools UNIX UTF-8 Web WordPress Amazon (4) Firefox (2) Google (3) Mobile (3) MovableType (1) Netbook (2) Oracle Master (1) Programing (15) Ruby on Rails (12) Server (5) SQL (4) Tools (7) Web (8) Web Service (7) WordPress (3) 楽天 (3) 雑記 (3)
WP Cumulus Flash tag cloud by Roy Tanck requires Flash Player 9 or better.