2017-11-21 8 views
1

私は乗客+ nginxの設定で動作しているsinatraアプリを持っています。現在、セッションはランダムに失われるという問題に直面しています。また、乗客のスマートなスポーンを無効にしようとしましたが、動作しませんでした。サーバーの負荷とメモリの使用量も問題ありません。ルビーアプリで乗客+ nginxの設定でランダムにセッションが失われる

しかし、passenger_max_pool_size 1;をnginx設定で設定することで問題を解決できました。

プールサイズが1より大きい場合にこの問題が発生する理由は何ですか?
この設定では、乗客が新しいインスタンスを生成するため、このアプリケーションでパフォーマンスの問題が発生しますか?あなたは、セッション秘密を指定することを確認したいと思う

nginxのサイトが有効になっconfの

server { 
    listen 8082; 
    server_name 0.0.0.0; 
    root /home/deploy/manager/current/app/public; 
    passenger_ruby /usr/local/rvm/gems/ree-1.8.7-2012.02/wrappers/ruby; 
    passenger_enabled on; 

} 
+1

どのセッションストアを使用していますか?デフォルトのクッキーセッションはここでうまく動作するはずですが、 'Rack :: Session :: Pool'を使用している場合は、各プロセスに独自のセッションが設定されます。 – matt

答えて

0

、そうでない場合は1が自動になり、既存のセッションを一掃、プロセスが起動するたびに生成されました。

例:

use Rack::Session::Cookie, :key => 'rack.session', :path => '/', :secret => 'yoursessionsecretgoeshere' 

編集:あなたが唯一のプロセスが実行されているので、あなたは、1のプールサイズに問題を持っていません。そのプロセスを再起動すると、秘密のセットがないと、セッションが削除されることがあります。

関連する問題