2017-10-23 4 views
-1

複数のRuby on Railsアプリケーションをnginxサーバー上で実行しようとしています。私は以下のようにconfファイルを設定します。nginxで複数のRuby on Railsアプリケーションを実行

server { 
     listen 80; 
     #server_name 10.0.1.216; 

     # Tell Nginx and Passenger where your app's 'public' directory is 

     location/{ 
       root /var/www/app-one/public; 
     } 

     location /dev { 
       root /var/www/app-two/public; 
     } 

     # Turn on Passenger 
     passenger_enabled on; 
     passenger_ruby /home/ubuntu/.rvm/gems/ruby-2.4.1/wrappers/ruby; 

    } 

私はhttp://myurlにアクセスしたときに最初のアプリが正常に動作します。しかし、私がhttp://myur/devにアクセスすると、nginxは私を例外の下で投げます。誰かが私がそれを把握するのを助けることができる?

enter image description here

答えて

0

このチュートリアルに従って、nginxのを構成する必要があります。https://www.phusionpassenger.com/library/deploy/nginx/deploy/ruby/#deploying-an-app-to-a-sub-uri-or-subdirectory

server { 
    listen 80; 
    root /var/www/app-one/public; 
    passenger_enabled on; 

    # This block has been added. 
    location ~ ^/dev(/.*|$) { 
     alias /var/www/app-two/public$1; # <-- be sure to point to 'public'! 
     passenger_base_uri /dev; 
     passenger_app_root /var/www/app-two; 
     passenger_document_root /var/www/app-two/public; 
     passenger_enabled on; 

    } 
} 
0

は、ドキュメントを1として

server { 
    # ... 

    location /dev { 
      root /var/www/app-two/public; 
    } 

    location/{ 
      root /var/www/app-one/public; 
    } 

    # ... 
} 

あなたの場所並べ替えてみhttp://nginx.org/en/docs/http/ngx_http_core_module.html#location

正規表現の

検索は、最初のマッチで終了し、対応するコンフィギュレーションが使用されているすべてのパスは、この方法を開始するので

/は、すべてのパスと一致します。

関連する問題