Ruby on rails 两个域上的Rails应用程序+nginx+乘客

Ruby on rails 两个域上的Rails应用程序+nginx+乘客,ruby-on-rails,nginx,passenger,Ruby On Rails,Nginx,Passenger,如何使用nginx+passenger在两个域上拥有一个应用程序?我在nginx中添加了第二个域,但这会重定向到domain1.net server { listen 80; server_name domain2.net *.domain2.net; rewrite ^/(.*)$ http://www.domain2.net/$1 permanent; } server { listen 80; server_name www

如何使用nginx+passenger在两个域上拥有一个应用程序?我在nginx中添加了第二个域,但这会重定向到domain1.net

server {
        listen 80;
        server_name domain2.net *.domain2.net;
        rewrite ^/(.*)$ http://www.domain2.net/$1 permanent;
}

server {
    listen 80;
    server_name www.domain2.net;
    root /var/www/domain1/public/;   # <--- be sure to point to 'public'!

}

server {
        listen 80;
        server_name domain1.net *.domain1.net;
        rewrite ^/(.*)$ http://www.domain1.net/$1 permanent;
}

server {
    listen 80;
    server_name www.domain1.net;
    root /var/www/domain1/public/;   # <--- be sure to point to 'public'!
    passenger_enabled on;
    client_max_body_size 20M;

    location / {
        passenger_enabled on;
        root /var/www/domain1/public/; 

    }
}
我想要的是在两个域上有一个应用程序,因为我想为第二个域的用户翻译应用程序

server {
     listen 80;
     server_name domain2.net *.domain2.net;
     rewrite ^/(.*)$ http://www.domain2.net/$1 permanent;
}

server {
    listen 80;
    server_name www.domain2.net;
    root /var/www/domain1/public/;
    passenger_enabled on;
    location / {
      passenger_enabled on;
      root /var/www/domain1/public/; 
    }
}

server {
    listen 80;
    server_name domain1.net *.domain1.net;
    rewrite ^/(.*)$ http://www.domain1.net/$1 permanent;
}

server {
    listen 80;
    server_name www.domain1.net;
    root /var/www/domain1/public/;   # <--- be sure to point to 'public'!
    passenger_enabled on;
    client_max_body_size 20M;

    location / {
      passenger_enabled on;
      root /var/www/domain1/public/; 
    }
}
您应该将乘客流也添加到第二个域,然后它就可以工作了

一个技巧是将每个域移动到site.conf文件中,然后将其包含在nginx.conf中,这将更易于维护


确保更改后重新启动Nginx。

为什么不直接将服务器命名为www.domain1.net www.domain2.net;在乘客启用的服务器块中?这也是一个选项。