使用Nginx和Passenger在子域上部署Rails应用

时间:2019-04-24 02:38:52

标签: ruby-on-rails nginx passenger

我在www.example.com的服务器上运行着Rails应用程序,并且一切正常。现在,我想在test.example.com上部署相同的应用程序以进行测试。

问题是我的应用程序在我的config / routes.rb中注册了两个子域:

constraints subdomain: 'admin' do
  some routes
end

constraints subdomain: 'api' do
  some other routes
end

我在Nginx上使用Passenger(独立),如下所示:

server {
  listen 80;
  listen 443;
  server_name *.test.example.com;
  passenger_enabled on;
  passenger_app_env testing;
  passenger_ruby /usr/local/rbenv/shims/ruby;
  root /app_test/public;
}

但是,这不符合我的预期。似乎我的应用程序正在test.example.com的所有子域中提供服务,因此,如果我向api.test.example.com发出请求,则返回的页面(索引)就好像我将其发送到test.example.com ,而admin.test.example.com也是如此。

我已经在这里和互联网上阅读了多篇文章,但是我认为我的问题与拥有子域而不是suburis以及在子域上工作有关,这是我迄今为止注意到的唯一区别。 Nginx和Passenger可以进行此设置吗?

0 个答案:

没有答案