# ¿Cómo despliego mi aplicación MERN?

https://www.seturack.com/es/base-de-conocimientos/articulo/how-do-i-deploy-my-mern-app

1. En el panel, abre **Mis servidores** y haz clic en tu servidor.
2. En la pestaña **Resumen**, espera a que la fila **Aplicación** diga "MERN está listo". La página se actualiza sola.
3. Abre el enlace de la fila **Dirección del sitio**. Si la página de ejemplo dice `MongoDB: OK`, la aplicación llega a la base de datos.

## Carpetas

- `/home/app/uygulama/sunucu`: la aplicación Express (`server.js`). La cadena de conexión está en el archivo `.env` que hay junto a ella.
- `/home/app/uygulama/istemci`: el código fuente de React. Al compilarlo, el resultado se escribe en la carpeta `sunucu/public`.

## Cambiar el código

[Conéctate por SSH](https://www.seturack.com/es/base-de-conocimientos/articulo/how-to-connect-with-ssh) y ejecuta:

`su - app`

`cd ~/uygulama`

Después de copiar tu código, reinicia la aplicación:

`pm2 restart uygulama`

La aplicación debe escuchar en el puerto **3000**.

## MongoDB

A MongoDB solo se puede acceder desde dentro del servidor. Las filas **Usuario de acceso** y **Contraseña** del panel son la cuenta de administrador. Para conectarte desde tu ordenador, usa un túnel SSH.

## Tu propio dominio

1. Apunta el registro A de tu dominio a la dirección IP de tu servidor.
2. Como root, sustituye el nombre antiguo en todas partes: `sed -i 's/OLD_NAME/yourdomain.com/g' /etc/caddy/Caddyfile`. `OLD_NAME` es la parte posterior a `https://` en la dirección que se muestra en el panel.
3. Ejecuta `systemctl reload caddy`.

Caddy obtiene y renueva el certificado por sí solo.

Solo están abiertos al exterior los puertos **80**, **443** y **22** de SSH.

**¿Aún no tienes servidor?** [Pide un servidor con MERN instalado](https://www.seturack.com/es/mern-vps): tú eliges el tamaño y pagas solo lo que eliges.
