1. Configuración de Clave SSH
ssh-keygen -t ed25519 -C "tu-correo@ejemplo.com"
Este comando genera un par de claves SSH (pública y privada) usando el algoritmo Ed25519, que es más seguro y eficiente que RSA.
Nota: Presiona Enter para aceptar la ubicación predeterminada (~/.ssh/id_ed25519
). Puedes dejar la passphrase vacía para mayor comodidad, aunque reduce la seguridad.
Para ver y copiar tu clave pública:
cat ~/.ssh/id_ed25519.pub
Agrega esta clave en GitHub en Settings → SSH and GPG Keys → New SSH key.
2. Estructura de Carpetas para Proyectos
sudo mkdir -p /var/www/ERP-Sistemas/EMPRESA1
Crea una estructura organizada para cada cliente/empresa:
Mejor práctica: Usar /var/www/
es convencional para proyectos web. El uso de sudo
es necesario porque /var/www/
suele tener permisos root.
3. Clonar Repositorio Backend
cd /var/www/ERP-Sistemas/EMPRESA1
git clone git@github.com:SISTEMAS/ERP_Backend.git .
El punto al final del comando git clone
clona el repositorio directamente en el directorio actual en lugar de crear una subcarpeta.
4. Clonar Frontend (Opcional)
git clone git@github.com:SISTEMA/ERP_Frontend.git .
Estructura resultante:
5. Configuración del Archivo .env
nano .env
Ejemplo de contenido para un backend típico:
DB_HOST=localhost
DB_USER=usuario_db
DB_PASSWORD=contraseña_segura
DB_NAME=nombre_bd
JWT_SECRET=mi_secreto_jwt
PORT=3000
NODE_ENV=production
Importante: Nunca subas el archivo .env a GitHub. Asegúrate de agregarlo a tu .gitignore
.
6. Instalación de Dependencias
FIJARSE QUE SEA LA VERSION DE NPM QUE NECESITA
npm install
Este comando:
- Lee el
package.json
- Descarga todas las dependencias listadas
- Las instala en la carpeta
node_modules
7. Gestión de Procesos con PM2
Instalación de PM2
npm install -g pm2
PM2 es un administrador de procesos para Node.js que permite:
- Mantener aplicaciones activas permanentemente
- Balanceo de carga
- Monitorización de recursos
- Registro de logs
Iniciar la Aplicación con PM2
pm2 start npm --name "nombre-del-proyecto" -- start
Desglose del comando:
--name
: Asigna un nombre identificable al proceso-- start
: Ejecuta el script "start" definido en package.json
Configurar Inicio Automático
pm2 save
pm2 startup
Esto crea un servicio systemd que reiniciará tus aplicaciones al reiniciar el servidor.
Nota: Ejecuta el comando que pm2 startup
te muestre (varía según el sistema operativo).
Comandos Esenciales de PM2
Comando | Descripción |
---|---|
pm2 list |
Muestra todos los procesos gestionados por PM2 |
pm2 monit |
Interfaz interactiva para monitorear CPU y memoria |
pm2 logs |
Muestra los logs en tiempo real |
pm2 restart nombre |
Reinicia un proceso específico |
pm2 delete nombre |
Elimina un proceso de la lista de PM2 |
Actualizar Variables de Entorno
pm2 restart nombre-del-proyecto --update-env
Es necesario cuando modificas el archivo .env
para que los cambios surtan efecto.
Consejo: Usa pm2 logs nombre-del-proyecto --lines 200
para ver los últimos 200 líneas del log cuando soluciones problemas.
No hay comentarios: