Despliegue de APIs y Aplicaciones en Node.js (Express) y Python (Flask)
Aprende a configurar Alwaysdata como servidor de aplicaciones para microservicios y APIs REST desarrolladas en Node.js (Express) o Python (Flask/Django).
Un Entorno PaaS Verdaderamente Políglota
Muchos estudiantes de backend aprenden Node.js con Express o Python con Flask/FastAPI además de PHP. Alwaysdata te permite alojar estos proyectos sin costo adicional y sin necesidad de configurar un proxy inverso complejo en Nginx desde cero.
Configuración de una Aplicación Node.js en Alwaysdata
- En el panel de Alwaysdata, dirígete a Web ➔ Sites y edita tu sitio (o crea uno nuevo).
- En el selector Type, cambia de PHP a Node.js.
- Selecciona la versión de Node.js deseada (por ejemplo, Node.js 20 LTS o 22).
-
Script path: Especifica el archivo principal que arranca tu servidor (ejemplo:
/www/server.jso/www/index.js). - Haz clic en Submit.
3000. Alwaysdata le asigna un puerto dinámico a través de la variable de entorno process.env.PORT.
Configuración de una Aplicación Python (Flask / Django)
Para proyectos en Python:
- Selecciona Type: Python WSGI.
- Elige la versión de Python instalada (3.11 / 3.12).
- Indica la ruta del archivo WSGI (ej:
/www/app.py) y el nombre de la variable de la aplicación (usualmenteapplicationoapp). - Por SSH, puedes crear un entorno virtual con
python -m venv venve instalar tus librerías conpip install -r requirements.txt.
⚡ API REST en Express Lista para Alwaysdata (server.js)
Servidor Express que respeta el puerto dinámico asignado por el balanceador de Alwaysdata:
import express from 'express';
const app = express();
// IMPORTANTE: Escuchar en process.env.PORT para Alwaysdata
const PORT = process.env.PORT || 8000;
app.use(express.json());
// Endpoint de prueba
app.get('/api/saludo', (req, res) => {
res.json({
mensaje: "¡Hola desde la API de Express en Alwaysdata Cloud!",
estado: "OK",
plataforma: "Node.js en Alwaysdata",
timestamp: new Date().toISOString()
});
});
// Endpoint de datos de clase
app.get('/api/estudiantes', (req, res) => {
res.json([
{ id: 1, nombre: "Carlos Mendoza", curso: "Backend Pro" },
{ id: 2, nombre: "Valeria Torres", curso: "Arquitectura Cloud" }
]);
});
app.listen(PORT, () => {
console.log(`🚀 Servidor Node.js escuchando en el puerto ${PORT}`);
});
Mini-Quiz de Retención
Comprueba tu comprensión antes de pasar a la siguiente lección¿Por qué en Alwaysdata (y en la nube en general) se debe usar "process.env.PORT" en lugar de fijar el puerto 3000 en Node.js?
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.🚀 ¿Quieres dominar Manual de Alwaysdata: Cloud Hosting & Despliegue Backend y crear proyectos reales?
Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.
🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.