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

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

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

我想要做的是对其进行配置,以便我有一个主应用程序www.example.com和附加应用程序www.example.com/app1www.example.com/app2等等。如何使用上述工具实现此配置?我知道如何仅使用 nginx 来实现这一点,但似乎需要对 Passenger 进行额外的配置。

我当前的nginx配置如下:

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/

答案1

我尝试做同样的事情。它有效,但是我的资产确实还存在一些小问题(我使用导轨)

在你的服务器您要添加的块地点堵塞。

以下是我的做法:

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 为您的应用提供服务。

添加任意位置堵塞正如您希望的那样,在相同的模式下可以使用更多的应用程序。

相关内容