Saltar al contenido principal

Poner en línea un sitio o una aplicación

Su VPS Pro sirve sus sitios y sus aplicaciones en su nombre de dominio, por HTTP y HTTPS. Los visitantes llegan a los puertos 80 y 443 de su servidor, bajo el nombre de su servidor; el cifrado HTTPS va de extremo a extremo, hasta su servidor, donde reside su certificado.

1. Apuntar su dominio a su servidor​

Allí donde se gestiona la zona DNS de su dominio, cree dos registros para el nombre de su servidor, con las direcciones que aparecen en su tarjeta, apartado VPS de su área de cliente:

TipoNombreValor
Aapp (o @ para el propio dominio)la Dirección IPv4 de su tarjeta
AAAAapp (o @)la Dirección IPv6 de su tarjeta

Un nombre bajo vps.simafri.cloud ya funciona: no hay nada que crear.

Cuando la zona DNS de su dominio la gestiona Simafri, nuestro equipo crea estos registros por usted: escríbanos. Antes de cambiar un sitio que ya está en línea, pídanos también que reduzcamos la duración de vida (TTL) del registro: el cambio se propaga entonces en pocos minutos.

Para comprobarlo desde su ordenador:

dig +short A app.mi-empresa.com
dig +short AAAA app.mi-empresa.com

2. Instalar su servidor web​

Su servidor web escucha en el puerto 80 para HTTP y en el puerto 443 para HTTPS. Dos opciones habituales:

  • Caddy, que obtiene y renueva por sí solo su certificado HTTPS;
  • Nginx o Apache, con Certbot para el certificado.

Con Caddy​

apt install caddy

Después, en /etc/caddy/Caddyfile, para un sitio estático:

app.mi-empresa.com {
root * /var/www/app
file_server
}

o para una aplicación que escucha en el puerto 3000:

app.mi-empresa.com {
reverse_proxy 127.0.0.1:3000
}

systemctl reload caddy, y su sitio responde en HTTPS: Caddy ha obtenido el certificado y lo renovará por sí mismo.

Con Nginx y Certbot​

apt install nginx certbot python3-certbot-nginx

Cree el sitio en /etc/nginx/sites-available/app:

server {
listen 80;
listen [::]:80;
server_name app.mi-empresa.com;

location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

Actívelo y, después, solicite el certificado:

ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d app.mi-empresa.com

Certbot instala el certificado Let's Encrypt, añade la escucha en el puerto 443 y programa su renovación automática. certbot renew --dry-run comprueba que la renovación está lista.

3. Mantener su aplicación en marcha​

Una aplicación Node.js, Python, Go o Java que funciona de forma continua se confía a systemd: arranca con el servidor y se reinicia sola si se detiene. Ejemplo, en /etc/systemd/system/app.service:

[Unit]
Description=Mi aplicación
After=network.target

[Service]
WorkingDirectory=/srv/app
ExecStart=/usr/bin/node server.js
Restart=always
Environment=NODE_ENV=production
User=www-data

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now app
journalctl -u app -f # seguir sus registros

PM2 para Node.js, Gunicorn o Uvicorn para Python, o Docker Compose cumplen la misma función si los prefiere.

4. Su base de datos​

PostgreSQL, MySQL, MariaDB, Redis o MongoDB se instalan en su servidor con el gestor de paquetes, o desde el repositorio oficial del editor para obtener la última versión:

apt install postgresql

Mantenga su base de datos a la escucha en localhost: su aplicación accede a ella en el propio servidor. Para administrarla desde su ordenador, utilice un túnel SSH:

ssh -p 22101 -L 5432:localhost:5432 root@app.mi-empresa.com

Su herramienta (DBeaver, pgAdmin, TablePlus) se conecta entonces a localhost:5432.

Servir varios dominios​

Su servidor responde bajo su nombre, fijado en el pedido. Para servir otro dominio u otro subdominio en el mismo VPS Pro, escriba al soporte indicando los nombres que desea añadir: nuestro equipo los conecta a su servidor y, después, usted crea sus registros DNS como en el paso 1 y añade su bloque a su servidor web.

Preguntas frecuentes​

Mi sitio muestra un error de certificado.​

Compruebe por orden: sus registros A y AAAA designan las direcciones de su tarjeta (dig), su servidor web escucha en los puertos 80 y 443 (ss -tlnp), y el certificado cubre ese nombre (certbot certificates). El certificado se obtiene una vez que el nombre designa su servidor: vuelva a ejecutar Certbot, o recargue Caddy, tras la propagación DNS.

Mi sitio no responde en absoluto.​

En el servidor, curl -I http://localhost muestra si su servidor web responde. systemctl status nginx (o caddy, o su servicio) y sus registros indican por qué se ha detenido. Describa lo que observa al soporte: la Asistencia integral hace el diagnóstico con usted.

¿Puedo instalar WordPress, Laravel o Symfony?​

Sí: instale PHP-FPM, su base de datos y su servidor web y, después, su aplicación, como en cualquier servidor Linux. La Asistencia integral le indica los ajustes adecuados para su proyecto, paso a paso.