Nginx和Phusion Passenger(配置多个虚拟主机)

时间:2011-05-02 19:23:14

标签: ruby-on-rails configuration nginx passenger virtual-hosts

我正在尝试使用Phusion Passenger和Nginx在我的本地计算机上设置多个Ruby on Rails应用程序。不幸的是,我似乎无法通过谷歌搜索找到一个很好的解决方案。我见过的一些解决方案包括创建一个符号链接,但基本上我想做的是每个项目都有一个不同的nginx.conf,并且Phusion Passenger从我的〜/ Sites / project / config / nginx.conf中加载了该文件。 Ruby on Rails应用程序。这可能吗?如果是这样,我怎么能实现呢?如果没有,还有哪些其他解决方案可能会指出我正确的方向?

感谢您的帮助!

==========

可能的解决方案

==========

使用RVM我创建了一个新的gemset,然后我在gemset下安装了phusion passenger gem,在安装nginx时,我指定了nginx安装在〜/ Sites / project / config /

这实际上创建了以下目录:

  • 项目
    • 配置
      • CONF
      • sbin目录

项目/ config / conf内部存在nginx.conf文件,/ project / config / sbin / nginx用于创建自己的虚拟主机。虽然我确信我可以在/ opt / nginx中使用我的集中式nginx配置,但区别在于这有助于创建一个项目,该项目可以轻松分发给正在处理该项目的其他开发人员。有什么想法/顾虑吗?

2 个答案:

答案 0 :(得分:3)

由于您使用的是Mac,请试用http://pow.cx/

创建新项目/网站

cd ~/.pow
ln -s /path/to/myapp

然后您将通过http://myapp.dev

进行访问

答案 1 :(得分:0)

这看起来可能会为你做(请参阅以“upstream ...”开头的部分)。这基本上做的是根据请求URL将传入的请求指向不同的服务器集群(即使在本地运行)。

http://purab.wordpress.com/2009/11/18/how-to-host-multiple-rails-site-on-nginx/

此示例在后端使用Mongrel群集,但只是将其与当前配置进行比较,并针对您的特定后端进行调整。