entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Proyecto Node a producción

Hola a todos,
Tengo una api realizada en node.js que me gustaría subir a producción, pero no consigo hacerlo. En local me funciona correctamente incluso conectándome a la bbdd en mongolab.
He probado Heroku, pero me da un error con el timeout que no soy capaz de solucionar:
2015-03-06T08:52:05.502662+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2015-03-06T08:52:05.502662+00:00 heroku[web.1]: Stopping process with SIGKILL
2015-03-06T08:52:06.626652+00:00 app[web.1]: Error waiting for process to terminate: No child processes
2015-03-06T08:52:08.658696+00:00 heroku[web.1]: Process exited with status 22

Ahora estoy probándolo con Evennode y una vez subida la app, me dice que se ha subido correctamente a través de git, pero aparece el error 502 Bad gateway.
Alguien me podría explicar cuáles son los pasos para subir un proyecto en node y por qué es tan complicado?

También he buscado un VPS hosting gratuito para probar ahí, pero no he encontrado ninguno. Entiendo que con VPS podría configurarlo como lo tengo en mi local y ahí debería tener menos problemas.

1 Respuesta

1voto

Bernardao Puntos200

Pues había cambiado la manera de conectarse a la bbdd mongo poniendo la que propone la documentación de evennode:

var http = require('http');
var server = http.createServer(function(req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });

var config = JSON.parse(process.env.APP_CONFIG);
var MongoClient = require('mongodb').MongoClient;

MongoClient.connect(
    "mongodb://" + config.mongo.user + ":<your_password_here>@" +
    config.mongo.host + ":" + config.mongo.port + "/" + config.mongo.db, 
    function(err, db) {
        if(!err) {
            res.end("We are connected to MongoDB\n");
        } else {
            res.end("Error while connecting to MongoDB\n");
        }
});
});
server.listen(3000);

de esta forma usaba su conexión a mongodb, pero al volver a poner la que tenía con mongolab, ya me está funcionando. Lamento no dar otra explicación, pero realmente no he cambiado nada con la primera vez que lo subí.

Pero si que veo que faltan artículos explicando con mayor detalle como hacerlo, así que si alguien puede recomendarme algunos, lo agradeceré

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta