0

次の手順に従って、Rails アプリをサブリにデプロイしました。

http://www.modrails.com/documentation/Users%20guide%20Apache.html#deploying_rails_to_sub_uri

12 月 23 日に、私のアプリケーションは suburi の下にデプロイされ、正常に動作しました。12月に試したところ。26 stylesheet_link_tag のような URL ヘルパーが RackBaseURI を使用していないことに気付きました。したがって、//myapp.com/suburi/app/assets/application.css を要求する代わりに、私のブラウザーは //myapp.com/assets/application.css を要求していました。もちろん、それは 404 です。両方のアプリからすべてのログを調べました。およびapacheであり、疑わしいものは何も見られませんでした。

Apacheを再起動すると、サブリが突然再び動作し始めました。

ここに私の vhost.conf があります https://gist.github.com/4382822

誰が私が間違っているのか考えていますか?

4

2 に答える 2

1

だから私は最終的にこれを理解しました。問題は、パッセンジャー アプリがhttp://local-webservice.localhost/sub/uri/routeのようなサブ URI を使用するように設定されている場合、再起動後の最初の要求がhttp:/のようなルート経由でアプリにヒットすることでした。 /local-webservice.localhost/route の場合、パッセンジャーは基本的に、アプリを再起動するまでサブ URI 構成を破棄します。

これに対する解決策は、乗用車のグーグルグループで私に与えられましたが、他の誰かに役立つことを期待してここに含めています。ここに私が得た答えがあります:

これは、Phusion Passenger が現在アプリケーションを一意に識別する方法によるものです。現在、アプリケーション ルートを介してのみ行われます。/webapps/foo が foo.com、bar.com、および baz.com/suburi にデプロイされているとします。Phusion Passenger は、異なるドメインとサブ URI の下で、それらすべてを同じアプリケーションとして認識します。

これは、将来のバージョンで修正したいものです。ただし、現時点では、期待どおりに機能させるために、サブ URI デプロイメントに別の PassengerAppGroupName を設定してください。例えば:

<Location /suburi/app> 
  PassengerAppGroupName suburi_app 
</Location> 
于 2013-01-14T20:01:22.183 に答える
0

あなたが提供したものからあなたが間違っていると私が見ることができるものは何もありません. Passenger のバグだったのかもしれません。

RackBaseURI が動作を開始し、Apache を再起動せずに動作を停止し、Apache の再起動後に他の変更なしで再び動作を開始するようなことは考えられません。パッセンジャーのバグを除きます。うまくいけば、それが再び起こらないことを願っています。私自身も定期的に RackBaseURI を使用していますが、この問題は見たことがありません。

また、Passenger のバグではなく、ここで知ることができる十分な情報がない何か奇妙なことが起こった可能性もあります (そして、おそらくより可能性が高いでしょう)。12 月 23 日から 26 日の間に apache が再起動しなかったのは確かですか? そこにある構成ファイル (apache または rails) を変更していないことは確かですか? または、アセットをプリコンパイルするか、./tmp/cache などでファイルを作成または削除しますか? (後者のいずれも明らかに物事を壊すことはありませんが、少なくともおそらく関連している可能性があります。それは、ファイルに変更を加えずに動作し、動作しないということです(とにかく私には考えられないことです) !) しかしパッセンジャーのバグのためです。

于 2013-01-05T00:36:14.813 に答える