Nginx Rails应用无法部署

时间:2014-05-02 16:01:24

标签: ruby-on-rails deployment nginx passenger

我在使用Ubuntu 12.04中托管的passenger和nginx运行的rails应用程序时遇到问题。

在下面的nginx.conf文件中,我的“example.com”(常规HTML)和“redmine.example.com”(Rails应用程序)工作正常,但我的“crete.example.com”(另一个Rails应用程序) )正在显示“502坏网关”。我把它们都托管在/ var / data中,具有相同的权限和所有权,也试过不同的端口,我想不出别的东西可以试试。

worker_processes  1;

events {
worker_connections  1024;
}

http {
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;

include       mime.types;
default_type  application/octet-stream;

sendfile        on;

keepalive_timeout  65;

    server{
        listen 80;
        server_name example.com;
        root /opt/nginx/html;
    }

    server{
        server_name redmine.example.com;
        root /var/data/redmine/public;
        passenger_enabled on;
        location ~ ^/<SUBURI>(/.*|$){
            alias /var/data/redmine/public$1;
            passenger_base_uri /redmine;
            passenger_app_root /var/data/redmine;
            passenger_document_root /var/data/redmine/public;
            passenger_enabled on;}
    }

    server{
        server_name crete.example.com;
        root /var/data/crete/public;
        passenger_enabled on;
        location ~ ^/<SUBURI>(/.*|$){
            alias /var/data/crete/public$1;
            passenger_base_uri /crete;
            passenger_app_root /var/data/crete;
            passenger_document_root /var/data/crete/public;
            passenger_enabled on;}
     }

}

这是我的Ruby和Rails版本:

ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-linux]
Rails 4.1.0

我的nginx error.log

2014/05/02 12:29:50 [error] 3343#0: *4 upstream prematurely closed connection while reading response header from upstream, client: xxx.xx.xx.xx, server: crete.example.com, request: "GET / HTTP/1.1", upstream: "passenger:/tmp/passenger.1.0.3

323 / generation-0 / request:“,host:”crete.example.com“

您可能需要解决此问题的任何其他配置文件都会毫不犹豫地提出来。

1 个答案:

答案 0 :(得分:-1)

查看您的sites-availablesites-enabled,看看您的其他rails应用是否包含并配置正确。另外,请检查nginx.conf

中是否包含这些文件