我在使用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“
您可能需要解决此问题的任何其他配置文件都会毫不犹豫地提出来。
答案 0 :(得分:-1)
查看您的sites-available
和sites-enabled
,看看您的其他rails应用是否包含并配置正确。另外,请检查nginx.conf