Ruby on rails 3 使用nginx+;独角兽

Ruby on rails 3 使用nginx+;独角兽,ruby-on-rails-3,nginx,ubuntu-12.04,unicorn,Ruby On Rails 3,Nginx,Ubuntu 12.04,Unicorn,我想使用nginx+unicorn托管多个rails应用程序,目前正在使用apache+passenger和railsbaseuri提供服务。唯一的原因是apache需要在每个新应用程序部署后重新加载。我想知道是否可以在unicorn+nginx中添加新的应用程序,而无需重新加载服务器 我想在host name/nginx-app1、host name/nginx-app2等子文件夹上部署应用程序,而host name指向一个基本的html页面 阅读一些与使用套接字处理单个应用程序相关的内容,并

我想使用nginx+unicorn托管多个rails应用程序,目前正在使用apache+passenger和railsbaseuri提供服务。唯一的原因是apache需要在每个新应用程序部署后重新加载。我想知道是否可以在unicorn+nginx中添加新的应用程序,而无需重新加载服务器

我想在host name/nginx-app1、host name/nginx-app2等子文件夹上部署应用程序,而host name指向一个基本的html页面

阅读一些与使用套接字处理单个应用程序相关的内容,并寻求一些帮助来实现这一点。在我的例子中,应用程序只部署一次,没有进一步的迭代。一旦我部署了新的应用程序,就应该没有停机时间来运行当前的应用程序

编辑 应用程序中的config/unicorn.rb文件

    working_directory "/home/ubuntu/application_1"
    pid "/home/ubuntu/application_1/pids/unicorn.pid"
    stderr_path "/home/ubuntu/application_1/log/unicorn.log"
    stdout_path "/home/ubuntu/application_1/log/unicorn.log"
    listen "/tmp/unicorn.todo.sock"
    worker_processes 2
    timeout 30

一种方法是将rails应用程序作为UDS托管。和nginx,以便从每个UDS(Unix域套接字)读取多个服务器块。编写语法错误的逻辑特赦

e、 g.看看这个。

您可以使用unicorn的app1.conf托管app1,它将有一个行

listen '/var/run/app1.sock', :backlog => 512
并且有多个nginx上游,如

upstream app1 {
        server unix:/var/run/app1.sock fail_timeout=0;
    }
upstream app2 {
        server unix:/var/run/app2.sock fail_timeout=0;
    }
  ....
并基于位置或主机头路由来自服务器块的请求(proxypass)

 server {
        listen 80;    
        location /app1 { 
            proxy_pass http://app1;
            proxy_redirect off; 
        } 
        location /app2 { 
            proxy_pass http://app2;
            proxy_redirect off; 
        } 
    }

unicorn的app1.conf的位置将是什么。请检查我的编辑,其中我已使用unicorn.rb文件更新。所以正如你所说,我需要为每个应用程序提供单独的.conf文件。多个nginx上游代码是否会进入nginx.conf或default.conf?。