Saltar al contenido
Volver a servicios

Proyectos y proxy inverso

Muchos proyectos y dominios en un mismo servidor

Un servidor tiene una sola IP pública, pero puede atender muchos dominios y proyectos. La clave es el proxy inverso: nginx recibe todas las peticiones y entrega cada una a su proyecto. SERVILINUX lo configura por ti.

Desliza el diagrama para verlo entero

Tu servidor16 GB RAM · 4 vCPU◎api.tienda.com◎admin.tienda.com◎app.cliente.com◎www.cliente.com⌖203.0.113.10IP pública :443⇄nginxproxy inverso🔒Let's EncryptHTTPS por dominio⬢AdonisJS · API127.0.0.1:3001⬢AdonisJS · admin127.0.0.1:3002⬢Node.js · app127.0.0.1:3003▤Sitio web (PHP)/srv/apps/wwwMemoria del servidorAdonisJS ×2 · 1 GBNode.js · 0,5 GBnginx + PHP · 0,3 GBBase de datos · 2,2 GBLibre · 12 GBAdonisJS ×2 1 GBNode.js 0,5 GBnginx + PHP 0,3 GBBase de datos 2,2 GBLibre 12 GB
  • api.tienda.com → AdonisJS
  • admin.tienda.com → AdonisJS
  • app.cliente.com → Node.js
  • www.cliente.com → sitio PHP

Cada color sigue a un dominio: llega a la IP pública, nginx lo reconoce por su nombre, le pone HTTPS y lo entrega a su proyecto. Las apps escuchan en puertos locales que no se ven desde internet; el sitio web lo sirve nginx directamente. Abajo, cuánta memoria usa cada parte (orientativo).

Varios dominios, una sola IP

Todos los dominios apuntan a la misma IP pública. nginx lee el nombre de cada petición y la envía al proyecto correcto; un proyecto también puede tener varios dominios.

Cada app en su puerto, sin exponerse

Las apps Node.js y AdonisJS escuchan solo en 127.0.0.1, cada una en su puerto. Desde internet solo están abiertos el 80 y el 443, y todo pasa por nginx.

HTTPS gratis para cada dominio

nginx tiene el certificado de Let’s Encrypt de cada dominio y lo renueva solo. Antes de pedirlo, SERVILINUX comprueba que el dominio llega de verdad a tu servidor, también a través de un proxy.

Cada proyecto aislado y recuperable

Cada proyecto tiene su propio usuario del sistema, su servicio con reinicio automático y versiones guardadas: si un despliegue falla, vuelve solo a la versión anterior.

¿Cuántos proyectos caben en un servidor?

Depende sobre todo de la memoria y del tráfico. Como referencia:

MemoriaSitios estáticos y PHP ligerosApps Node.js / AdonisJS
1 GB5 a 101 o 2, sin base de datos local
2 GB10 a 203 o 4, con una base de datos pequeña
4 GB20 o más6 a 8, con base de datos
16 GBDecenas20 o más, con bases de datos grandes

Cifras orientativas para tráfico moderado. Un proyecto con mucho tráfico puede necesitar un servidor para él solo; Sentinel te muestra la memoria real que usa cada servidor.

En SERVILINUX

Cómo se hace

  1. 1
    Apunta tus dominios

    Registro A hacia la IP del servidor, o usa el dominio provisional gratis.

  2. 2
    Crea los proyectos

    Estático, PHP, Node.js o AdonisJS: cada uno recibe su puerto y su usuario.

  3. 3
    Despliega desde git

    A mano o automático en cada push, con vuelta atrás si algo falla.

  4. 4
    Activa HTTPS

    Un clic por dominio; nginx queda configurado como proxy inverso.