我如何使用nginx和Unicorn托pipe多个Rails应用程序?

我如何使用nginx和Unicorn托pipe多个Rails应用程序?

由于“ 部署到VPS ”,我目前有一个站点正在运行。

我已经search,但我需要一步一步的指导,以得到这个工作。 我发现的结果不是很好解释,以帮助我了解如何做到这一点。

基本上,你做同样的事情,让你的第一个应用程序的一切运行减去Nginx的安装。 因此,无论您的第一个应用程序运行的是哪个Unicorn实例,都要为您的下一个应用程序再次执行。

然后,你可以添加另一个服务器块到你的Nginx配置中,指向那个新的Unicorn实例的上游。

运行整个机器的一个Nginx将会很好,每个应用程序都运行一个Unicorn。

希望这有助于一些。


以下是您需要为Nginx添加额外的应用程序的附加服务器块示例:

upstream unicorn_app_x { server unix:/path/to/unicorn/socket/or/http/url/here/unicorn.sock; } server { listen 127.0.0.1:80; server_name mysitehere.com aliasfor.mysitehere.com; root /path/to/rails/app/public; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; if (!-f $request_filename) { proxy_pass http://unicorn_app_x; break; } } } 

上面提供的说明是不够的。 我的启动文件:/etc/init.d/unicorn对单个主机的配置有几个引用。 有了这些配置,它不会为第二个主机提供服务。

所以我创建了一个新的独角兽启动实例。

cp /etc/init.d/unicorn /etc/init.d/unicorn_app_x

编辑/etc/init.d/unicorn_app_x,用第二个引用替换对第一个引用的引用:包括唯一的套接字。

然后我将文件自动添加到启动:update-rc.d act_unicorn defaults

它终于奏效了!