0

我在数字海洋上运行一个 Rails 应用程序。它工作完美。我想在同一个 VPS 上托管一个 Sinatra 应用程序。我已经设置了名称服务器和 DNS。

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;
    }
}

现在当我去 domain2.com 它加载 domain1.com 的应用程序,我做错了什么。

PS:Domain1.com 是 Rails 应用,Domain2.com 是 sinatra 应用。

4

1 回答 1

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;
    }
}
于 2013-09-04T13:07:07.453 回答