【发布时间】:2014-05-02 16:01:24
【问题描述】:
我的 Rails 应用程序在 Ubuntu 12.04 中托管的乘客和 nginx 上运行时遇到问题。
在下面的 nginx.conf 文件中,我的“example.com”(常规 HTML)和“redmine.example.com”(Rails 应用程序)运行良好,但我的“crete.example.com”(另一个 Rails 应用程序) ) 显示“502 bad gateway”。我将它们都托管在具有相同权限和所有权的 /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 错误日志
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:",主机:"crete.example.com"
您可能需要解决此问题的任何其他 conf 文件不要犹豫。
【问题讨论】:
标签: ruby-on-rails deployment nginx passenger