Alojamiento: VPS
Un servidor virtual privado, mayormente conocido como VPS, es una máquina virtual que se ejecuta en la nube y cuyos usuarios tienen el control total de su sistema.
En esta guía, aprenderás varios métodos para ejecutar tu bot en un VPS, manteniéndolo en línea 24/7, haciendo que se ejecute automáticamente cuando tu VPS se inicie y se reinicie en caso de caída.
systemd
systemd es un potente gestor de servicios que viene preinstalado en muchas distribuciones de Linux, principalmente las basadas en Debian.
Obteniendo el comando de inicio
Obtenga la ruta completa de su tiempo de ejecución:
sh# Si se utiliza Deno which deno # Si se utiliza Node.js which node
1
2
3
4
5También debes tener la ruta completa de tu archivo de entrada.
Tu comando de inicio debería ser como el siguiente
sh<ruta_de_entrada_completa> <opciones> <ruta_de_archivo_de_entrada_completa> # Ejemplo de Deno: # /home/user/.deno/bin/deno --allow-all /home/user/bot1/mod.ts # Ejemplo de Node.js: # /home/user/.nvm/versions/node/v16.9.1/bin/node /home/user/bot1/index.js
1
2
3
4
5
6
7
Creación del servicio
Ve al directorio de servicios:
shcd /etc/systemd/system
1Abre tu nuevo archivo de servicio con un editor:
shnano bot1.service
1Añade el siguiente contenido:
txt[Service] ExecStart=<comando_de_inicio> Restart=on-failure [Install] WantedBy=multi-user.target
1
2
3
4
5
6Sustituye
<comando
por el comando que tienes arriba. Tenga en cuenta también que si Deno está instalado para un usuario distinto de root, puede que tenga que especificarlo en la sección de servicio como_de _inicio> User
. Para más información sobre los archivos de unidad, visite aquí.= <el _usuario> Recarga systemd cada vez que edites el servicio:
shsystemctl daemon-reload
1
Manejando el servicio
Iniciar
systemctl start <nombre_del_servicio>
Sustituye
<service
por el nombre del archivo del servicio. Ejemplo:_name> systemctl start bot1
.
Ejecutar en el arranque
systemctl enable <nombre_del_servicio>
Comprobar los registros
systemctl status <nombre_del_servicio>
Reiniciar
systemctl restart <nombre_del_servicio>
Detener
systemctl stop <nombre_del_servicio>
No ejecutar en el arranque
systemctl disable <nombre_del_servicio>
PM2 (sólo Node.js)
PM2 es un gestor de procesos daemon para Node.js que te ayudará a gestionar y mantener tu aplicación online 24/7.
Instalando
npm install pm2@latest -g
# Si usas Yarn
yarn global add pm2
2
3
4
Gestión de aplicaciones
Inicio
pm2 start --name <nombre_de_la_aplicación> <punto_de_entrada>
El
<nombre
puede ser cualquier identificador de tu aplicación, por ejemplo:_de _la _aplicación> bot1
. El<punto
debe ser la ruta de tu archivo de índice (que ejecuta tu bot)._de _entrada>
Reinicio
Al reiniciar, detienes la aplicación y la vuelves a iniciar.
pm2 restart <nombre_de_la_aplicación>
Recargar
Al recargar, reemplazas el proceso actual de tu aplicación con uno nuevo, lo que resulta en un tiempo de inactividad de 0 segundos. Esto se recomienda para aplicaciones sin estado.
pm2 reload <nombre_de_la_aplicación>
Stop
# Una sola aplicación
pm2 stop <nombre_de_la_aplicación>
# Todas las aplicaciones
pm2 stop all
2
3
4
5
Eliminar
Al borrar, detienes tu aplicación y eliminas sus registros y métricas.
pm2 del <nombre_de_la_aplicación>
Información avanzada
Para más información, consulte https://