2016-05-07 7 views
0

capistranoを使用して1つの仮想マシンに複数のレールアプリケーションを展開したい。複数のPumaアプリケーションを使用するCapistrano

deploy.rb内の両方のアプリケーションでは、設定のようなものを持っている:

set :puma_bind, "unix://#{shared_path}/tmp/sockets/#{fetch(:application)}-puma.sock" 

は、彼らは自分自身のnginxの設定ファイルを持っています。

最初のアプリ:

upstream puma { 
    server unix:///var/www/first-app/shared/tmp/sockets/first-app-puma.sock; 
} 

server { 
    listen 80 default_server deferred; 

第二のApp:

upstream puma_second { 
    server unix:///var/www/second-app/shared/tmp/sockets/second-app-puma.sock; 
} 

server { 
    listen 81; 

まず秒、80ポートである81ポートです。

しかし、2番目のアプリケーションを展開してからNginxを再起動すると、example.com:81が開きます。これはスタイルのない最初のアプリのページを表示します。

これはなぜ起こっているのですか? 2番目のアプリを別の場所にバインドする必要がありますか?

答えて

0

私は両方のアプリケーションのnginx.confファイルを変更することで、この問題を解決することができました。

最初のアプリ:

upstream puma_first_app { 
    server unix:///var/www/first_app/shared/tmp/sockets/first_app-puma.sock; 
} 

server { 
    listen 9999; 

そしてlocation @puma私はこの追加しました:私はポート80を使用してsecond app

first_app文字列を変更する第二のアプリで

proxy_pass http://puma_first_app; 

0

ポート80の両方を残して、アプリケーションの各サーバーブロックに異なるserver_namesを追加しようとしましたか?

server { 
    listen 80 default_server deferred; 
    server_name railsapp1.com; 

    . 
    . 
    . 
} 

server { 
    listen 80 default_server deferred; 
    server_name railsapp2.com; 
    . 
    . 
} 
関連する問題