2013-09-04 1 views
0

나는 디지털 바다에서 레일 응용 프로그램을하고있어. 그것의 완벽하게 작동합니다. 동일한 VPS에서 Sinatra 애플리케이션을 호스팅하고 싶습니다. 나는 네임 서버와 DNS를 설정했다.nginx 승객을 사용하여 VPS에서 두 개의 응용 프로그램을 실행

opt/nginx/conf/nginx.conf입니다 : 이제

worker_processes 1; 

events { 
    worker_connections 1024; 
} 


http { 
    passenger_root /home/deploy/.rvm/gems/ruby-2.0.0-p0/gems/passenger-4.0.0.rc6; 
    passenger_ruby /home/deploy/.rvm/wrappers/ruby-2.0.0-p0/ruby; 

    include  mime.types; 
    default_type application/octet-stream; 

    sendfile  on; 
    keepalive_timeout 65; 

    server { 
    listen 80; 
    server_name domain1.com; 
    charset utf-8; 
    root /home/deploy/apps/domain1/current/public; 
    passenger_enabled on; 
    rails_spawn_method smart; 
    rails_env production; 
    } 
    server { 
    listen 80; 
    server_name domain2.com www.domain2.com; 
    charset utf-8; 
    root /home/deploy/apps/domain2-path/public; 
    passenger_enabled on; 
    rails_spawn_method smart; 
    } 
} 

내가 잘못 뭐하는 거지,이 domain1.com의 응용 프로그램을로드 domain2.com 갈 때.

추신 : Domain1.com은 레일스 응용 프로그램이고 Domain2.com은 sinatra 응용 프로그램입니다.

답변

0

다른 DNS 주소를 정의해야만이 작업을 수행 할 수 있습니다. 다른 URL에서 다른 앱을 실행해야합니다.

그런 다음 같은 것을 할 :

upstream rails { 
    server 127.0.0.1:8000; 
} 

upstream sinatra { 
    server 127.0.0.1:7000; 
} 

server { 
    location /rails { 
     proxy_pass http://rails; 
    } 
    location /sinatra { 
     proxy_pass http://sinatra; 
    } 
} 
관련 문제