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

时间:2014-04-04 22:40:47

标签: ruby-on-rails-3.2 passenger

我将rails应用程序部署到具有IP的虚拟主机,例如10.10.10.10。默认情况下,Phusion Passenger在生产环境中运行应用程序。 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;
     }

TEST_SERVER_NAME应该是什么?我的主机实例只有一个IP。

其实我对server_name很困惑。是否有必要与主机实例匹配?但是在文档中看到的例子可以同时是bar.com和far.com。如果它可以是一个随机名称,我可以使用google.com然后每个人去google.com将由我的网站提供服务吗?我当然不能。那么server_name如何工作?

1 个答案:

答案 0 :(得分:0)

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

如果您需要更多信息,请点击official doc