Ruby on rails 3.2 使用Phusion Passenger在一个虚拟主机实例中为不同环境部署rails应用程序

Ruby on rails 3.2 使用Phusion Passenger在一个虚拟主机实例中为不同环境部署rails应用程序,ruby-on-rails-3.2,passenger,Ruby On Rails 3.2,Passenger,我让rails应用程序部署到具有IP的虚拟主机上,例如10.10.10.10。默认情况下,在生产环境中运行应用程序。nginx配置为: server { listen 80; server_name 10.10.10.10; rails_env production; root /root/www/production/public; passenger_enabled on;

我让rails应用程序部署到具有IP的虚拟主机上,例如10.10.10.10。默认情况下,在生产环境中运行应用程序。nginx配置为:

server {
        listen       80;
        server_name  10.10.10.10;
        rails_env    production;
        root         /root/www/production/public;
        passenger_enabled on;
 }
现在,我想在同一主机的测试环境中部署应用程序。不知道我能不能做点像

server {
            listen       80;
            server_name  TEST_SERVER_NAME;
            rails_env    test;
            root         /root/www/test/public;
            passenger_enabled on;
     }
测试服务器的名称应该是什么?我的主机实例只有一个IP


实际上,我对服务器名称感到困惑。是否需要与主机实例匹配?但在文档中看到的示例可以是bar.com和far.com。如果它可以是一个随机的名字,我可以使用google.com吗?那么每个进入google.com的人都会被我的网站服务吗?我当然不能。那么服务器名称是如何工作的呢?

nginx使用
server\u name
指令来决定哪个服务器应该处理传入的请求。因此,它不仅仅是任何随机名称,nginx将尝试将每个传入请求与配置中定义的服务器相匹配

如果您需要更多信息,请参阅下面的示例