【问题标题】:Passenger/nginx not loading Sinatra app乘客/nginx 未加载 Sinatra 应用程序
【发布时间】:2012-08-23 01:28:56
【问题描述】:

我试图在 sub-uri 下运行一些 Sinatra 应用程序,但似乎Passenger 没有将它们作为 Rack 应用程序。

来自 nginx-error 日志:403 错误,directory index of "/web/archive/sites/archive/app1/" is forbidden。如果我将index.html 放在该目录中,则会呈现该 HTML 文件。

应用程序在我的本地机器上使用rackup 运行良好,所以我觉得应用程序代码无关紧要。我还以 nginx 用户(nginx 配置顶部的user nginx)和archive 用户身份登录,该用户用于部署所有这些应用程序,并拥有所有目录和文件。使用任一用户导航到这些文件中的任何一个都没有问题。

此外,如果我将其移至子域(如 archive.domain.com),此设置也可以正常工作,然后让应用程序符号链接直接位于 /web/archive/sites(而不是 /web/archive/sites/archive)中,否则使用几乎相同nginx 配置,这就是为什么我不认为这是权限问题。

nginx 配置

server {
    listen 80;
    server_name domain.com;

    location /archive {
        root /web/archive/sites;
        passenger_enabled on;
        passenger_base_uri /app1;
        passenger_base_uri /app2
    }
}

目录结构

/web
  |
  +-- archive/
       |
       +-- sites/
       |    |
       |    +-- archive/
       |         |
       |         +-- app1 -> /web/archive/apps/app1/current/public
       |         |
       |         +-- app2 -> /web/archive/apps/app2/current/public 
       |
       +-- apps/
            |
            +-- app1/
            |    |
            |    +-- current/
            |    |
            |    +-- public/
            |    |
            |    +-- config.ru
            |
            +-- app2/
                 |
                 +-- (same as app1/)

【问题讨论】:

    标签: nginx sinatra passenger rack


    【解决方案1】:

    您的配置示例中的passenger_base_uriroot 与目录结构不匹配(例如/web/archive/sites/app1/web/archive/sites/archive/app1)。据我了解,Passenger 不考虑位置,而只考虑rootpassenger_base_uri

    尝试将配置更改为

    server {
        listen 80;
        server_name domain.com;
    
        location /archive {
            root /web/archive/sites/archive;
            passenger_enabled on;
            passenger_base_uri /app1;
            passenger_base_uri /app2
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-05-01
      • 1970-01-01
      • 2013-08-29
      • 1970-01-01
      • 1970-01-01
      • 2015-10-19
      • 2011-04-26
      • 2018-02-14
      • 2020-01-07
      相关资源
      最近更新 更多