4

「RubyをRailsアプリケーションにデプロイするのは簡単だ」と同等のことを言ったことがある人には激怒します。いいえ、ちがいます。これは私が今までやらなければならなかった中で最も難しいことであり、私はオペレーティングシステムを開発しています。

ふぅ。これで終わりです。私はついに乗客をインストールし(低音のackwardsインストールプロセスを使用して)、インストーラーは次のように言いました:

apache構成ファイルを編集して、次の行を追加してください。

LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.2-p290@rails-3.0.1/gems/passenger-3.0.8/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ruby-1.9.2-p290@rails-3.0.1/gems/passenger-3.0.8
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.2-p290@rails-3.0.1/ruby

/somewhereにRailsアプリケーションがあるとします。Apache構成ファイルに仮想ホストを追加し、そのDocumentRootを/ somewhere/publicに設定します。

   <VirtualHost *:80>
      ServerName www.yourhost.com
      DocumentRoot /somewhere/public    # <-- be sure to point to 'public'!
      <Directory /somewhere/public>
         AllowOverride all              # <-- relax Apache security settings
         Options -MultiViews            # <-- MultiViews must be turned off
      </Directory>
   </VirtualHost>

これらの両方を/etc/apache2/apache2.confに配置し、apacheを起動しようとすると、このガベージを配置した行にエラーが表示されます。非常に感謝しています。もうすぐそこにいるのを感じることができます!

ニック

4

2 に答える 2

1

以下を逐語的に含めた場合、Apache を再起動するとエラー メッセージが表示されます。

AllowOverride all              # <-- relax Apache security settings
Options -MultiViews            # <-- MultiViews must be turned off

それが吐き出すエラーは次のとおりです。

user@my_server:~/your_site# sudo /etc/init.d/apache restart
Syntax error on line 11 of /etc/apache2/sites-enabled/your_site:
Illegal override option #
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!
root@my_server:~/your_site#

修正?以下のコメント行を削除して、次のようにします。

AllowOverride all
Options -MultiViews

お役に立てれば!

于 2011-09-21T09:27:36.250 に答える
1

Apache 2 モジュールのインストールが正常に完了したら、次の一連の手順に従って Apache を構成します。

  1. /etc/apache2/mods-available に次の 2 つのファイルを作成します。

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

次のコードをpassenger.loadファイルに貼り付けます

LoadModule passenger_module /usr/lib/ruby/gems/1.9.2(your version)/gems
/passenger-3.0.2/ext/apache2/mod_passenger.so

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

次のコードをpassenger.confファイルに貼り付けます

PassengerRoot /usr/lib/ruby/gems/1.9.2/gems/passenger-3.0.2
PassengerRuby /usr/bin/ruby1.9.2

2. /etc/apache2/mods-enabled に次のシンボリック リンクを作成して、モジュールを有効にします。

$ ln -s /etc/apache2/mods-available/passenger.load /etc/apache2/mods-enabled/passenger.load
$ ln -s /etc/apache2/mods-available/passenger.conf /etc/apache2/mods-enabled/passenger.conf

3./etc/apache2/sites-enabled の 000-default ファイルに以下を追加して、仮想ホストを作成します。

<Directory /var/www/your_app>
         RailsBaseURI /your_app
         RailsEnv development
         AllowOverride all
         Options -MultiViews
         allow from all
</Directory>
  1. 次に、アプリケーションのソフト リンクを作成します。アプリケーションが /opt に存在する必要があることを確認してください。これを行うには、アプリケーション用に別のフォルダーを作成することができます。

    私。$ sudo mkdir -p /opt/rails_apps

    ii. $ sudo cp -R /path/to/your_app/ /opt/rails_apps/

    iii. $ sudo ln -s /opt/rails_apps/your_app/public/ /var/www/your_app

  2. 次に、次のコマンドで apache を再起動します。

    /etc/init.d/apache2 再起動

于 2011-08-23T14:56:54.717 に答える