Aplicación Rails no arranca con Passenger+Nginx

132 views
Skip to first unread message

Alejandro Riedel

unread,
Sep 19, 2012, 8:59:32 AM9/19/12
to rub...@googlegroups.com
Buenas,

Tengo una aplicación rails en...

/home/myuser/webapps/myapplication/

Instalé y configuré Passenger y Nginx pero no puedo lograr que mi aplicación rails funcione. Si la corro en WEBrick funciona bien.

Este es mi nginx.conf para la aplicación...

server {
    listen 8080;
    server_name www.mydomain.com.ar;
    root /home/myuser/webapps/myapplication/public;
    rails_env production;
    passenger_enabled on;
}

Si pongo un index.html estático dentro de /home/myuser/webapps/myapplication/public/ puedo acceder a la misma desde un browser. Pero como mi aplicación rails no utiliza index.html como root me imagino que Nginx no puede cargar la aplicación.

Estoy usando Ubuntu 12.04, rvm 1.15.8, ruby 1.9.3, rails 3.2.8, Phusion Passenger 3.0.17, Passenger's Nginx module.

No usé ninguna herramienta para hacer el deploy de la aplicación, copié toda la carpeta manualmente a la ubicación donde la tiene que levantar el server.

Qué estoy haciendo mal? Debe ser algo muy simple pero ninguna de todas las cosas que leí me han ayudado.

Gracias
 
ALEJANDRO RIEDEL


Angel Java Lopez

unread,
Sep 19, 2012, 9:09:31 AM9/19/12
to rub...@googlegroups.com
Hola gente!

Alejandro, ni idea de Nginx, ni de Rails... pero, primera pregunta:

- Debe haber un controller o algo en Rails que tenga una URL, digamos /customer, te anda si pones http://tudominio/customer ?

- Cual es el controller/ruta default de tu aplicacion Rails? digamos que cuando pones / Rails responde como si hubieras puesta /customer. Entonces, veo en
que se puede poner en la configuracion de nginx
 location / {
        index   index.html index.php;
    }
Algo asi habria que poner, para que / te la traduzca a la ruta que queres tener como inicial

Angel "Java" Lopez
@ajlopez

2012/9/19 Alejandro Riedel <alejandr...@gmail.com>

Marcos Ortiz

unread,
Sep 19, 2012, 9:09:53 AM9/19/12
to rub...@googlegroups.com, Alejandro Riedel
Saludos, Alejandro.
¿El usuario que maneja el usuario www-data tiene permisos de ejecucion en esa carpeta?
¿Puedes enseñarlos los logs de tu passenger?
--


Alejandro Riedel

unread,
Sep 19, 2012, 10:11:42 AM9/19/12
to rub...@googlegroups.com
Angel,

mi config/routes.rb contiene los iguiente...

myapplication::Application.routes.draw do
        root to: 'static_pages#home'
end

Si accedo a www.mydomain.com.ar/home obtengo el mismo resultado que obtengo si elimino el public/index.html

SSL connection error

Unable to make a secure connection to the server. This may be a problem with the server, or it may be requiring a client authentication certificate that you don't have.
Error 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL protocol error.

Marcos Ortiz

unread,
Sep 19, 2012, 10:14:54 AM9/19/12
to rub...@googlegroups.com, Alejandro Riedel
Según leo, tienes activado SSL pero no tienes ningún certificado validado.
¿Puedes poner acá la configuración completa de tu nginx.conf?

Angel Java Lopez

unread,
Sep 19, 2012, 10:19:35 AM9/19/12
to rub...@googlegroups.com
Ah! Interesante... hay SSL

Primer pregunta para Holmes y Watson: y por que anda entonces con index.html?

2012/9/19 Marcos Ortiz <mlo...@uci.cu>

Alejandro Riedel

unread,
Sep 19, 2012, 10:28:37 AM9/19/12
to rub...@googlegroups.com, Alejandro Riedel, mlo...@uci.cu
Marcos,

Estaba buscando la respuesta a tu correo anterior, pero veo que no tengo configurado el user en mi nginx.conf.

Esto es lo que queda luego de eliminar todos los comentarios...

#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    passenger_root /home/ariedel/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.17;
    passenger_ruby /home/ariedel/.rvm/wrappers/ruby-1.9.3-p194/ruby;

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

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen 8080;
        server_name copavelezht.com;
        charset utf-8;
        root /home/ariedel/webapps/CopaVelezHT/public;
        passenger_enabled on;
    }
}

Lo raro es que si le pego a la ip y puerto, cuando está el index.html esto funciona bien. Si no está el index.html o si cambio el location en nginx.conf la ip cambia de xxx.xxx.xxx.xxx:8080 a https://xxx.xxx.xxx.xxx y no tengo forma de eliminar el https de mi url.

Mi aplicación no requiere nada de esto, hasta donde yo sé.

William Wong Garay

unread,
Sep 19, 2012, 10:35:13 AM9/19/12
to rub...@googlegroups.com

Index.html carga una pagina estática procesada por NGinx. Los demás request van a passenger. Sospecho que tu problema es con OpenSSL y Ruby. Estoy desde mi celular no tengo mayor recurso a la mano.

H. Geronimo Diaz

unread,
Sep 19, 2012, 10:37:38 AM9/19/12
to rub...@googlegroups.com
Alejandro, te fijaste si tenes actividad en el log de rails cuando vas contra copavelezht.com:8080 ? pq si tenes actividad en el log y luego caes en una redireccion vía el proto https entonces la redireccion es a nivel app no a nivel web server y por ahí tenes algún filtro para forzar ssl en algún lado.

Alejandro Riedel

unread,
Sep 19, 2012, 11:04:05 AM9/19/12
to rub...@googlegroups.com
Gerónimo,

Borré los logs de rails para estar seguro y cuando accedí no se volvieron a generar.

Por las dudas, mi server tiene una IP interna 10.200.14.196 y la forma en la que accedo a mi aplicación es a traves de 10.200.14.196:8080. Aclaro esto porque no sé si el hecho de que no esté accediendo a traves del nombre de dominio tiene algo que ver.

El log de error de nginx está vacío, el de access muestra lo siguiente...

$ cat /opt/nginx/logs/access.log

10.200.14.57 - - [19/Sep/2012:12:01:06 -0300] "\x16\x03\x01\x00\x9D\x01\x00\x00\x99\x03\x01PY\xDE0\x92\x95`Wt\x1E\x04\xCC\xFB\x15\x86\xFC\x1A\xF3\x10E\xE0q}\xC7p\x1E\xD6e\x1C\xC1K\xB7\x00\x00H\xC0" 400 172 "-" "-"

10.200.14.57 - - [19/Sep/2012:12:01:06 -0300] "\x16\x03\x01\x00\x9D\x01\x00\x00\x99\x03\x01PY\xDE0WK(\x89,\x1A6\x85\x18\xBC-\xF0\xC6m\xDE\x99kbi+\xB0\xC7\xFE\x05\x1Bl\x98Z\x00\x00H\xC0" 400 172 "-" "-"

10.200.14.57 - - [19/Sep/2012:12:01:06 -0300] "\x16\x03\x01\x00\x9D\x01\x00\x00\x99\x03\x01PY\xDE0\xA7\xE6BUk>\x998\xB5\xE8\xB5tab\xD1\xABb\x5C\xE0\xDB\xF4#\xC1\x1F\x9BS\x04\x12\x00\x00H\xC0" 400 172 "-" "-"

10.200.14.57 - - [19/Sep/2012:12:01:06 -0300] "\x16\x03\x01\x00\x9D\x01\x00\x00\x99\x03\x01PY\xDE0\x88\xA6\xF4\xFFHs\xC0\x0C\xBA\xC6\xD4!}\xBA\xB5\x0E\xF9\x1B;\xB6\xD4m7\xED\x03._\xC2\x00\x00H\xC0" 400 172 "-" "-"

10.200.14.57 - - [19/Sep/2012:12:01:06 -0300] "\x16\x03\x01\x00\x9D\x01\x00\x00\x99\x03\x01PY\xDE0\x87\xC0xK)i#\x81+\x83\xDC\xEF\xD7\xA0\x8CO\xDD5=\x91\xF6Je\xADv\xB8;\x05\x00\x00H\xC0" 400 172 "-" "-"

10.200.14.57 - - [19/Sep/2012:12:01:06 -0300] "\x16\x03\x00\x00U\x01\x00\x00Q\x03\x00PY\xDE0\x80g$&z1!f\xC3\xBE\xAB[\x15\xD4\xEB\x85\xAE$\xCF\xB6W\xC0\xA7vI2z\xF4\x00\x00*\x00\xFF\x00\x88\x00\x87\x009\x008\x00\x84\x005\x00E\x00D\x00f\x003\x002\x00\x96\x00A\x00\x05\x00\x04\x00/\x00\x16\x00\x13\xFE\xFF\x00" 400 172 "-" "-"

10.200.14.57 - - [19/Sep/2012:12:01:07 -0300] "\x16\x03\x01\x00\x9D\x01\x00\x00\x99\x03\x01PY\xDE1i\xA2\xB4\xF9\xE5\xAE\x07\xB1\x93EN" 400 172 "-" "-"

10.200.14.57 - - [19/Sep/2012:12:01:07 -0300] "\x16\x03\x01\x00\x9D\x01\x00\x00\x99\x03\x01PY\xDE1\xE2+\x0E\x02W\x06\x84\x8D9h\x1B\xE4n\x84\xEA\xA7\x0B\xCDd*\xC6\xB5\xFEW\xF7hl\x13\x00\x00H\xC0" 400 172 "-" "-"

10.200.14.57 - - [19/Sep/2012:12:01:07 -0300] "\x16\x03\x01\x00\x9D\x01\x00\x00\x99\x03\x01PY\xDE1\xF4\xCB\xB0M\x99\x1AD\x11_\xD6\xE1\x06\xBD;\xE6\xD7\xD3\xC5\xA7\xBB)\x0E\xD8\x08\x85\x8Ehw\x00\x00H\xC0" 400 172 "-" "-"

10.200.14.57 - - [19/Sep/2012:12:01:07 -0300] "\x16\x03\x01\x00\x9D\x01\x00\x00\x99\x03\x01PY\xDE1\x5C\x97\xF0iI=\xE0T\xD2\xB9\xD2\x85\xD9\x8C\xB2\x87m\xDC\x99ko?D\xB7\xCFF4\x8A\x00\x00H\xC0" 400 172 "-" "-"

10.200.14.57 - - [19/Sep/2012:12:01:07 -0300] "\x16\x03\x01\x00\x9D\x01\x00\x00\x99\x03\x01PY\xDE1\xCD\xEA\xCB\xABF\xF7\x0FvZ\x7F\xB2\x16\xAA\x09\x8BNb\xBA\x0C\x09z\x97\x16\xCF\x04\xE1\x9C\x07\x00\x00H\xC0" 400 172 "-" "-"

10.200.14.57 - - [19/Sep/2012:12:01:07 -0300] "\x16\x03\x00\x00U\x01\x00\x00Q\x03\x00PY\xDE1\xBBVv>5\xB5>8\xA6\x08\xF0\xD2h\xCD\xE5_^\xAD^\xE5\xEE\xD3\xDF\xE5\xAAI\x7F\xFA\x00\x00*\x00\xFF\x00\x88\x00\x87\x009\x008\x00\x84\x005\x00E\x00D\x00f\x003\x002\x00\x96\x00A\x00\x05\x00\x04\x00/\x00\x16\x00\x13\xFE\xFF\x00" 400 172 "-" "-"

10.200.14.57 - - [19/Sep/2012:12:01:16 -0300] "-" 400 0 "-" "-"

Saludos

Marcos Ortiz

unread,
Sep 19, 2012, 11:17:18 AM9/19/12
to rub...@googlegroups.com, Alejandro Riedel
Cambiar esto en el nginx.conf:
 
server {
        listen 8080;
        server_name copavelezht.com 10.200.14.196:8080;
        charset utf-8;
        root /home/ariedel/webapps/CopaVelezHT/public;
        passenger_enabled on;
Reply all
Reply to author
Forward
0 new messages