使用Passenger和Nginx将Rails应用程序部署到子URI?

时间:2013-06-18 06:42:38

标签: ruby-on-rails deployment nginx sinatra passenger

我已经使用Passenger和Nginx部署了我的Rails应用程序,它运行正常。 以下是我的servier配置:

server {
    listen       80;
    server_name  localhost;

    location / {
        root   /var/www/demo/public;
        passenger_enabled on;
        rails_env production;
    }

现在我想将第二个应用程序部署到子URI。这里documentation有点不清楚。

有人可以建议我下一个配置是什么?

以下是我用于第二个(Sinatra)应用程序的配置:

location /log {
        root   /var/www/logger/public;
        passenger_base_uri /log;
        passenger_enabled on;
    }

我收到“404 Not Found”。请提出我在这里缺少的信息。

2 个答案:

答案 0 :(得分:3)

最后它正在运作!

nginx.conf:

server {
  listen       80;
  server_name  localhost;
  location / {
    root   /var/www/demo/public;
    passenger_enabled on;
    rails_env production;
  }

  location /test {
    root   /var/www/demo;
    passenger_base_uri /test;
    passenger_enabled on;
  }

然后:

ln -s /var/www/logger/public /var/www/demo/test

感谢您的帮助。

答案 1 :(得分:0)

在子目录前添加^~

location /log

要:

location ^~ /log