0

/home/insane-36/.rvmディレクトリにrubyとgemsをインストールしています。私はpassengergemをインストールし、apache mod-available内にpassenger.loadファイルとpassenger.confファイルを作成し、apacheのmodを有効にしました。これらのファイルの内容は次のとおりです。

乗客.load

LoadModulepassenger_module/home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/ext/apache2/mod_passenger.so

passenger.conf

PassengerRoot /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12 PassengerRuby /home/insane-36/.rvm/wrappers/ruby-1.9.3-p194/ruby

次に、アプリケーションのシンボリックリンクを/ home / insane-36 / www/testingから/var/ www/testingの場所に作成しました。また、サイトを有効にするためのファイルを作成しました。

<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName testing
    DocumentRoot /var/www/testing/public/   
    <Directory /var/www/testing/public/>
      Options Indexes +ExecCGI FollowSymLinks 
      Order allow,deny
      Allow from all
    </Directory>
</VirtualHost>

次に、サイトを有効にしてサーバーを再起動しましたが、ruby(ラック)アプリケーションを開始できなかったというエラーが表示されます。私はインターネットを検索し続け、いくつかの解決策を見つけましたが、どれも私にはうまくいきません。これは許可の問題だと思います。何を許可すればいいのかわかりません。ファイルはapacheユーザーが利用できるようにする必要があると思います。権限を変更しようとしましたが、代わりに同じエラーが発生します。詳細なログは次のとおりです。

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.
Further information about the error may have been written to the application's log file. Please check it in order to analyse the problem.
Error message:
cannot load such file -- rubygems/path_support
Exception class:
LoadError
Application root:
/var/www/testing
Backtrace:
#   File    Line    Location
0   /home/insane-36/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems.rb    395 in `paths'
1   /home/insane-36/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems.rb    416 in `path'
2   /home/insane-36/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb  382 in `dirs'
3   /home/insane-36/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb  267 in `_all'
4   /home/insane-36/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb  410 in `each'
5   /home/insane-36/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb  442 in `find'
6   /home/insane-36/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb  442 in `find_by_path'
7   /home/insane-36/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems.rb    206 in `try_activate'
8   /home/insane-36/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb 59  in `rescue in require'
9   /home/insane-36/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb 35  in `require'
10  /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/lib/phusion_passenger/utils.rb  241 in `prepare_app_process'
11  /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/lib/phusion_passenger/rack/application_spawner.rb   156 in `block in initialize_server'
12  /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/lib/phusion_passenger/utils.rb  572 in `report_app_init_status'
13  /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/lib/phusion_passenger/rack/application_spawner.rb   154 in `initialize_server'
14  /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server.rb    204 in `start_synchronously'
15  /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server.rb    180 in `start'
16  /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/lib/phusion_passenger/rack/application_spawner.rb   129 in `start'
17  /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/lib/phusion_passenger/spawn_manager.rb  253 in `block (2 levels) in spawn_rack_application'
18  /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server_collection.rb 132 in `lookup_or_add'
19  /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/lib/phusion_passenger/spawn_manager.rb  246 in `block in spawn_rack_application'
20  /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server_collection.rb 82  in `block in synchronize'
21      prelude>    10:in `synchronize'
22  /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server_collection.rb 79  in `synchronize'
23  /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/lib/phusion_passenger/spawn_manager.rb  244 in `spawn_rack_application'
24  /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/lib/phusion_passenger/spawn_manager.rb  137 in `spawn_application'
25  /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/lib/phusion_passenger/spawn_manager.rb  275 in `handle_spawn_application'
26  /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server.rb    357 in `server_main_loop'
27  /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server.rb    206 in `start_synchronously'
28  /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/helper-scripts/passenger-spawn-server   99  in `'

どんな助けでもいただければ幸いです。

4

2 に答える 2

1

これが私がアプリケーションをローカルにデプロイした方法です。

sudo gem install passenger
sudo apt-get install apache2-dev libapr1-dev libaprutil1-dev
sudo passenger-install-apache2-module

/etc/apache2/mods-available/passenger.load

LoadModule passenger_module /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/ext/apache2/mod_passenger.so

/etc/apache2/mods-available/passenger.conf

PassengerRoot /home/insane-36/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12 
PassengerRuby /home/insane-36/.rvm/wrappers/ruby-1.9.3-p194/ruby

ここで、apacheのmod-passengerを次のように有効にしました。

> sudo a2enmod passenger

/ home / insane-36 /www/内にrailsアプリケーションを作成しました

Railsの新しいテスト-T-Dmysql

/ var /www/フォルダにアプリケーションへのシンボリックリンクを次のように作成しました。

ln -s / home / insane-36 / www / tests / var / www / tests

/ etc / apache2 / sites-available/testingにファイルを作成しました

<VirtualHost *:80>
        ServerAdmin admin@example.com
        ServerName testing
        DocumentRoot /var/www/testing/public/   
    <Directory /var/www/testing/public/>
     Options Indexes +ExecCGI FollowSymLinks 
         Order allow,deny
         Allow from all
    </Directory>
</VirtualHost>

を使用してサイトを有効にしました。

sudoa2ensiteテスト

選択したServerNameを追加し、/ etc / apache2 / sites-available/testingtheサイトにファイルを/etc/hostsファイルに作成しました。

テスト127.0.0.1

注:現在のユーザーディレクトリに対するアクセス許可755を必ず有効にしてください。

chmod 755 / home / insane-36

    bundle exec rake assets:precompile to compile your assets periodically. 

私はまだここで問題を抱えています。私はなんとかアプリケーションを機能させることができました。ただし、アプリケーションに変更を加えるたびに、サーバーをリロードする必要があります。サーバーが変更中のファイルを自動的に追跡し、サーバーをリロードするか、変更を組み合わせるように、これに対処する方法はありますか?

空のファイルを追加した場合、tmp / restart.txtはアプリを再起動して変更をもたらすために機能するはずですが、機能しないという注意事項がいくつかあります。

于 2012-05-30T01:35:51.453 に答える
0

私はあなたがrubygem関連のすべてを削除する必要があると思います

/home/insane-36/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1   
于 2012-05-29T23:16:59.177 に答える