Rails 本番サーバーでpassengerエラー

このQ&Aのポイント
  • 現在進行中のプロジェクトをgit cloneにて共有リポジトリから本番環境のサーバーに移しアプリケーションにアクセスしようとしたところ、Passengerがエラーを吐き出し、解決策が見いだせずにいます。
  • Passengerエラーの原因は、アプリケーションの必要なファイルが正しくアップロードされていないか、必要なライブラリがインストールされていない可能性があります。
  • 現在の環境はApatchサーバー、MySQLデータベース、ruby1.9.2を使用しています。開発環境はMacOS XでRails 3.2.2を使用し、本番サーバーはさくらVPS CentOS6でRails 3.2.5を使用しています。
回答を見る
  • ベストアンサー

Rails 本番サーバーでpassengerエラー

お世話になっております。 現在進行中のプロジェクトをgit cloneにて共有リポジトリから本番環境のサーバーに移しアプリケーションにアクセスしようとしたところ、Passengerが以下の様なエラーを吐き出してしまい、その解決策が見いだせずにいます。 A source file that the application requires, is missing It is possible that you didn't upload your application files correctly. Please check whether all your application files are uploaded. A required library may not installed. Please install all libraries that this application requires. Error message: no such file to load -- rubygems/path_support 当方環境は以下の様になります。 【共通】 サーバー Apatch DB MySQL ruby1.9.2 【ローカルサーバー(開発環境)】 MacOS X Rails 3.2.2 【共有リポジトリ】 さくらVPS 【本番サーバー(デプロイ先)】 さくらVPS CentOS6 Raisls 3.2.5 初心者故今回この質問をさせていただく上で必要な情報が何かというところも曖昧です。大変恐縮なのですが、何か支離滅裂な個所がありましたらそちらも合わせてご指摘いただければと存じます。 以下実行内容ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 【ローカルにてproductionモードでプロジェクトを実行するために以下を実行】 passengerのインストールと設定 → httpd.confの設定 → gemにてmysql2のインストール → mysqlにてDBの作成とそれに対するユーザー、パスワードを設定 → database.ymlの設定 → rake db:setup RAILS_ENV="production"を実行 補足:ここまでのプロセスでローカル環境にてproductionモードで動作しております。 この状態でgit commit → pushを行い、本番サーバーにてcloneを実行しております。 【サーバーサイドで実行したこと(公開ディレクリは/var/www/html以下はDocumetRootは/var/www/html/public/と設定してあります)】 公開ディレクトリ【html】にて共有リポジトリよりプロジェクトをclone → passengerのインストールと設定 → rake db:setup RAILS_ENV="production"を実行(末尾に--traceを付けcreateとmigrateも実行) ここまででhttp://ドメイン/コントローラー名にてプロジェクトにアクセスできると考えていたのですが、上記の様なエラーが発生し困っております。 繰り返しとなりますが、Rails初心者故上記に記させて頂いたプロセスにて足りなかったり余計であったりする個所もあるかと存じます。読みづらい文章の上大変恐縮ですが、そちら合わせてご指導いただければ幸いです。 宜しくお願い致します。

  • Ruby
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

見たところ、mongralでも起動が出来ているのを確認していないようなので 原因がpassengerの設定にあるのか、railsの設定にあるのかを切り分けましょう! (railsのインストールしてあるディレクトリでで) bundle exec rails server --port 80 -e production のコマンドで。ポート番号と動作環境を指定して、railsが立ち上がるかを確認できたら railsでの設定は問題なのは確認できるので、それを目指してみましょう で、見たところbundle installを実行して、必要なgemをインストールしたかの記入がないので rails本体が最低限必要としているgem以外はインストールされていないようなので bundle installを実行したかを、まずはおしえてホシイです あと、bundle installを実行して無事にgemがインストールされている場合、インストール作業を行ったあたりで実行したコマンドを、historyコマンドで取り出して、貼り付けてもらえればもう少しお力になれます

kabane_shi
質問者

お礼

お礼が遅れてしまい申し訳ありません。 git cloneを行った際にdatabase.yamlもcloneの対象としていたのが原因でした。 mysqlの設定がローカル同じ内容になっていたため上記のエラーを起こしていたようです。 git ignoreにdatabase.yamlを指定し、サーバー再度で任意の設定を記載した所無事解決し ました。 ご丁寧な回答ありがとうございました。

その他の回答 (1)

回答No.1

私もRails初心者で、最近Redmineの導入のためpassengerなどを、さくらVPSで設定してたんですが、 以下のように同じエラーが出てしまいました。 no such file to load -- rubygems/path_support 私の場合、rubyを導入するにあたってrvmを使いました。 さらにrvmを /home/ユーザ/.rvm というような階層に置いていました。 そしてエラーの原因ですが /home/ユーザ の ユーザ ディレクトリの権限が問題でした 初めは ユーザの権限が rwx------ となっていましたが、 これを chmod 755 ユーザ として rwxr-xr-xなどとすると エラーが消え、アプリの画面が表示されました。 つまり、そのgemやrubyに至るまでの階層で、権限をゆるくしまくったら、いけるのではないかと思います。 それはそれでまずいのでしょうが、とりあえずこれで解消されるとおもいます。 私の場合はrvmを使っていたので参考になるかわかりませんが、少しでも力になれたら幸いです。

kabane_shi
質問者

お礼

お礼が遅くなってしまいもし訳ありません。 お陰様で無事解決致しました。 git cloneを行った際にdatabase.yamlもcloneの対象としていたのが原因だったようです。 database.yamlをclone対象から除き、サーバーサイドにて任意の設定を施したとこ解決 致しました。 ご回答ありがとうございました。

関連するQ&A

  • railsコマンドが実行できないサーバに移転したい

    質問させて下さい。 (システムに詳しくないので意味不明な部分があればお許し下さい) Ruby,rails,passenger、DBはMySQLなどで構築したシステムを、 別のサーバに移転させたいと思っています。 しかし、移転先のサーバは railsのコマンドが実行できない(root権限がない)サーバのため、困っています。 どうしてもそのサーバで対応させる必要があるため、 なんらかのカスタマイズをしてでも導入したいのですが、 一度、railsコマンドを実行してファイル環境を作り終わっているシステムならば FTP経由で取り出して新しいサーバ用にMySQLなりパスなりの設定箇所を 修正したりすれば動かすなんてことは可能でしょうか。 システムに詳しくないので意味不明な部分もあるかと思いますが、 ご教授頂ければ幸いです。

  • Railsのエラー

    Railsのエラーについての質問です。 コマンドプロントでデータベースを作成しようとしたところ、よくわからないエラーが発生してしまいました(><) >rake db:migrate と入力すると、 C:.../InstatntRails/ruby/bin/rake.bat:25:[BUG]Segmentation fault ruby 1.8.4(2005-12-24)[i386-mswin32] This application has requseted the Runtime to terminate it in an usual way. Please contact the application's support team for more infomation. と表示されてしまいます。。。 「ruby.bat」というファイルの25行目にバグがある? と思いファイルを確認してみました。 25行目は、 load 'rake' だけなのです! ちなみにMySQL5.0.22、ruby1.8.4,rails 1.1.0を利用しています。 バージョンが悪いのでしょうか? 初心者でしてよくわからい状況です。。。 詳しいかたがいましたら、ぜひアドバイスよろしくお願いします!!

  • 【Rails】thinサーバについて

    以下の環境でRailsを動かしているのですが、thinサーバをproductionモードでwindowsサービスで動かす方法を教えて頂けないでしょうか 【環境】 Windows7 Ruby2.1.5 Rails4.2.0 以上、宜しくお願いします。

  • ruby on rails rake migrateについて

    rails初心者です。 今「ライドオンrails」を見て、勉強しているのですが、 34ページのところの $ rake migrate のところでエラーが出てしまいます。エラー内容は下記に示します。 環境:fedora core 5 mysql, ruby, gem, rails:yumコマンドにインストール(最新) この環境で 次のエラーが出てしまいます。 $ rake migrate (in /home/tada/tutorial/recipe) rake aborted! Mysql::Error: Lost connection to MySQL server during query: SET NAMES 'utf8' わかる方がいらっしゃたら教えてください。

  • さくらレンタルサーバー上でのredmineインストールについて

    こんにちは。始めまして。 どこに質問して良いのか迷ったのですがここで質問させて下さい。 現在さくらのレンタル鯖にredmineというwebプロジェクト管理アプリケーションを導入したく 色々情報をかき集めて、設定していったのですが何度やってもweb上でHTTP500エラーが出てしまいます。 大まかに自分が行った事を記載しますのでもし間違い等ありましたら指摘してくれるとうれしいです。 ■$HOME/local に必要環境をインストール (1)rubyのインストール(1.8.6) (2)rubygemのセットアップ(1.3.1) (3)railsのセットアップ(2.1.2) (4).bashrc ファイルにパスを通す (SQLは最初からさくらのサーバーに入っているそうです) ■$HOME/rails/redmine にredmine(0.7.3)をインストール $ cd $HOME/rails $ wget redmine-0.7.3.tar.gz $ tar zxvf redmine-0.7.3.tar.gz $ mv redmine-0.7.3.tar.gz redmine $ cd redmine $ chmod o+w tmp log ■redmine/config のデータベース設定の編集 $ cd $HOME/rails/redmine/config $ cp database.yml.example database.yml $ vi database.yml ↓変更前 /*---------------------------------------------------*/ production: adapter: mysql database: redmine host: localhost username: root password: encoding: utf8 /*---------------------------------------------------*/ ↓変更後 /*---------------------------------------------------*/ production: adapter: sqlite3 database: db/redmine.db timeout: 5000 /*---------------------------------------------------*/ ■データベースの作成 $ cd $HOME/rails/redmine/config $ rake db:migrate RAILS_ENV=production ここでno such file to load -- iconv言われ、iconvをインストール 更にno such file to load -- sqlite3と言われ、 $ gem install sqlite3-ruby 再度 $ rake db:migrate RAILS_ENV=production $ rake redmine:load_default_data RAILS_ENV=production ■アプリケーションの実行環境設定 設定ファイルの変更 (1) $ cd $HOME/rails/redmine/config $ vi environment.rb 先頭に以下を追加 /*---------------------------------------------------*/ $LOAD_PATH.push("/home/***/local/lib/ruby/site_ruby/1.8") $LOAD_PATH.push("/home/***/local/lib/ruby") ENV['GEM_HOME'] ||= '/home/***/local/lib/ruby/gems/1.8' ENV['PATH']+=':/home/***/local/bin' /*---------------------------------------------------*/ (2) $ cd $HOME/rails/redmine/public $ vi .htaccess 以下の行をコメントアウト #Options +FollowSymLinks +ExecCGI (3) $ cd $HOME/rails/redmine/public $ cp dispatch.cgi.example dispatch.cgi $ vi dispatch.cgi 文頭の /*---------------------------------------------------*/ #!/usr/bin/ruby  /*---------------------------------------------------*/ の部分を /*---------------------------------------------------*/ #!/home/***/local/bin/ruby ENV[’RAILS_ENV’] ||= ‘production’ /*---------------------------------------------------*/ に変更 ■webサーバーで表示するようシンボリックリンクを作成 $ cd $HOME/www $ mkdir test $ ln -s $HOME/rails/redmine/public $HOME/www/test/redmine このような設定で、http://***.sakura.ne.jp/test/redmine/にアクセスすると トップページが表示されるはずなのですが、何度やり直してもHTTP500エラーになってしまいます。 どなたかこれだけの情報で、間違いの点に気づく方いましたら教えてもらえるとうれしいです。 よろしくお願いします。

  • Rails テストスクリプトの実行時にエラー

    Ruby on Railsのテストスクリプトの実行しようとするとエラーが発生します。 ------------------------------------------------------------------------------------------------- C:\Users\user\rails\sample>ruby bin/rake test test/models/sample_test.rb rake aborted! ActiveRecord::PendingMigrationError: Migrations are pending. To resolve this issue, run: bin/rake db:migrate RAILS_ENV=test C:/Users/user/rails/sample/test/test_helper.rb:3:in `<top (required)>' C:/Users/user/rails/sample/test/models/sample_test.rb:1:in `require' C:/Users/user/rails/sample/test/models/sample_test.rb:1:in `<top (required)>' Tasks: TOP => test:models (See full trace by running task with --trace) ------------------------------------------------------------------------------------------------- どのようにすればテストスクリプトを実行できるか教えていただけますでしょうか。

  • Instant Railsについて

    Instant Rails + RadRailsでRoRを始めようとしている初心者です。 http://www.itmedia.co.jp/enterprise/0703/articles/12/news018.html ↑を参考にして始めようとしましたが、2ページ目のテーブルを作るところでつまづきました。 migrationファイルは作成出来たのですが、 >rake migrate で The rake task migrate has been deprecated, please use the replacement version db となり、テーブルが作成されせん。 InstantRailsにパッケージされているmysqlのver.を確認したところ Ver 14.12 Distrib 5.0.27, for Win32 (ia32) でした。これを最新にするべきなのか、ほかにすべきことがあるのかご教示下さい。

  • MySQL上にRedmineのテーブルが作成できません

    WindowsXP上でRedmineを構築しようとして、 データベースをMySQLと考えていますが、 テーブルの作成でエラーとなっています。 手順としては、Ruby、Rails、MySQLを導入し、 MySQL上で'redmine'の空データベースを作成しました。 そして、RedmineのRakefileが存在するディレクトリ配下で テーブル作成するため以下のコマンドを実行したところ、 エラーとなりました。 C:\redmine>rake db:migrate RAILS_ENV="production" (in C:/redmine) rake aborted! no such file to load -- test/unit/error C:/ruby/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2383:in `raw_load_rakefile' (See full trace by running task with --trace) ファイルがロードできないと言っているようですが、 どこをどのようにしたら解決するのでしょうか? (もしやバージョンの問題?) ------------------------------------------- ■バージョン Redmine:0.8.4 C:\redmine>ruby -v ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-mswin32] C:\redmine>gem list *** LOCAL GEMS *** actionmailer (2.1.2) actionpack (2.1.2) activerecord (2.1.2) activeresource (2.1.2) activesupport (2.1.2) rails (2.1.2) rake (0.8.7) C:\redmine>mysql --version mysql Ver 14.14 Distrib 5.1.35, for Win32 (ia32) ------------------------------------------- ■database.ymlの内容 production: adapter: mysql database: redmine host: localhost username: root password:(rootのパスワード) encoding: utf8

  • Railsのメモリサイズについて

    Railsを使用して開発をしている者です。 そこで質問があるのですが、実はDBから読み込んだデータをメモリ上に展開して キャッシュ参照するロジックを書いたのですが 試しに大量件数をロードしたらメモリアロケーション(NoMemoryError)の エラーが発生しました。 実行時の環境は下記のとおりです  OS:WindowsVista  Rubyバージョン:1.9.3  Railsバージョン:3.2.6  Server:WebRick  AptanaStudio3の環境から実行 そこで、Railsが使用する最大のメモリサイズがどの程度なのかを 調べてみたのですが、参考書などを調べてみたものの RailsのみならずRubyでも最大メモリサイズの設定等について 言及されている情報が見つかりませんでした。 Java等であれば、実行時のオプションに「-Xmn256m」等と指定して実行する事で 最大ヒープサイズを指定して実行する事が可能かと思いますが Railsにこの様な設定は無いのでしょうか? また、NoMemoryErrorが発生した際にも物理メモリには余裕がありましたので Railsの処理環境で何らかの上限値が存在するものと思いますが その値や設定箇所等もあれば、教えて頂きたいです。

    • ベストアンサー
    • Ruby
  • rake db:migrateでのエラーについて

    WinXP環境で開発環境を構築中です。 MySQL Server 5.1のテーブルを作成するために、 rake db:migrateを実行しましたが、 「Multiple migrations have the name CreateSchedules」のエラーが発生します。 原因がよくわかりません。 どなたか、ご教示ください。

    • ベストアンサー
    • Ruby