使用Phusion Passenger在单台服务器上部署多个应用程序

我目前正在使用Phusion Passenger + Nginx在服务器上运行一个简单的Meteor.js应用程序。

我想要做的就是对其进行configuration,以便在www.example.com上有一个主要应用程序,以及www.example.com等上的其他应用程序。 我怎样才能使用上述工具来实现这种configuration? 我知道如何做到这一点只使用nginx,但它似乎需要额外的乘客configuration。

我目前的nginxconfiguration如下:

 server { listen 80; server_name example.com; # Tell Nginx and Passenger where your app's 'public' directory is root /var/www/app1/bundle/public; passenger_friendly_error_pages on; # Turn on Passenger passenger_enabled on; # Tell Passenger that your app is a Meteor app passenger_app_type node; passenger_startup_file main.js; # Tell your app where MongoDB is passenger_env_var MONGO_URL mongodb://127.0.0.1:27017/app1; # Tell your app what its root URL is passenger_env_var ROOT_URL http://www.example.com/app1; } 

这在www.example.com/上提供了应用程序,但我想将其移至www.example.com/app1/

我试图做同样的事情。 它的工作原理,但我的资产仍然有一个小问题 (我使用铁轨)

在你的服务器块你想添加一个位置块。

下面是我如何做到这一点:

 location ~ ^/app1(/.*|$) { root /srv/www/app1/current/public; passenger_base_uri /app1; passenger_app_root /srv/www/app1/current; passenger_document_root /srv/www/app1/current/public; passenger_enabled on; } 

现在example.com/app1为您的应用程序提供服务。

根据需要添加尽可能多的位置在相同的模式更多的应用程序。