使用(unicorn和nginx)在rails app uri上部署sinatra app

时间:2013-07-10 18:21:29

标签: ruby-on-rails nginx sinatra unicorn

我在独角兽+ nginx上运行了rails应用程序。下面是nginx.conf和unicorn.rb配置。

nginx.conf

upstream unicorn {
  server unix:/tmp/unicorn.todo.sock fail_timeout=0;
}

server{
  listen 80 default deferred;
  #server_name localhost;
  root /var/www/demo/public;
  try_files $uri/index.html $uri @unicorn;

  location @unicorn {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://unicorn;
  }

  error_page 500 502 503 504 /500.html;
  client_max_body_size 4G;
  keepalive_timeout 10;
}

unicorn.rb

working_directory "/var/www/demo"
pid "/var/www/demo/tmp/pids/unicorn.pid"
stderr_path "/var/www/demo/unicorn.log"
stdout_path "/var/www/demo/unicorn.log"

listen "/tmp/unicorn.todo.sock"
worker_processes 2
timeout 30

这对我来说很好。 现在我想部署另一个小的sinatra应用程序rails app uri(localhost:3000 / sinatraapp)。详细信息:我们知道在localhost:3000上运行的rails应用程序,现在我正在尝试在localhost:3000 / sinatraapp上配置sinatra应用程序。

请建议我,我将如何配置上述要求。

1 个答案:

答案 0 :(得分:2)

您只需将您的Sinatra应用程序安装在Rails'routes.rb

mount SinatraApp, :at => "/sinatraapp"