Como Montar un servidor Node.js En Synology

api rest con servidor node js en synology

Hay muchos buenos recursos para los servicios de Node.js que hacen casi cualquier cosa. Así que en este proyecto me centraré en todo el afeitado de yak que va a hacer que toda la configuración realmente funcione. Cuando todo está funcionando, depende de ti hacer algo útil. Esta guía debería funcionar en la mayoría de los servidores NAS de Synology, desde los más pequeños con un procesador ARM antiguo y 512 MB de RAM como el DS214se, hasta las versiones más grandes con una CPU Intel más reciente y +4 GB de RAM como el DS918+.

El propósito de este proyecto es explicar todos los pasos para que Node.js funcione en su NAS de Synology y mantenerlo funcionando incluso después de reiniciar el servidor.

Iniciamos sesión en DSM y vamos a Administrador de paquetes.

Instale el paquete «Node.js v8» o el que sea el más reciente en ese momento. (En la versión anterior de DSM puede estar en «Herramientas para desarrolladores«, la última versión sólo tiene una pestaña «Todos los paquetes».) Buscamos «Nodejs» en la barra de búsqueda.

instarlar node js v8 synology

Instale el paquete «MariaDB», cualquier versión estará bien, sólo tenga en cuenta que la versión 5 utiliza el puerto MySQL por defecto (3306) y la versión 10 utiliza el 3307. Por lo tanto, cuando utilice v10, deberá especificar el puerto en todas las conexiones. Buscamos «mariadb» en la barra de búsqueda.

instalar maria db 5 synology

Crear Carpeta Compartida para proyectos

Sigue en DSM. Vaya al Panel de Control, y en la sección de Compartir Archivos seleccione «Carpeta Compartida«.

Cree una nueva carpeta llamada «server«. Puedes llamarlo como quieras (o usar una carpeta existente) pero por el bien de este proyecto asumo que estás usando la carpeta «server«.

 

Habilitar SSH en nuestro synology

En el panel de control, vaya a «Terminal & SNMP«. Asegúrese de que la opción «Habilitar servicio SSH» esté marcada. Necesitamos acceso SSH más adelante en esta guía, pero puede desactivarlo después de que todo esté hecho. Esto le permitirá iniciar un Secure SHell (línea de comandos) en el servidor.

Recomendamos poner un puerto que no sea el predeterminado «22». podemos utilizar el 8822.

ssh abrir puerto synology

Accedemos a la carpeta compartida desde un Ordenador

Utilizando un Ordenador de sobremesa, abra la carpeta «server» y cree una carpeta llamada «mi_api_rest«.

 

Instalamos Putty para ejecutar los comandos SSH

Instale Putty o un cliente SSH similar para obtener acceso de consola a su dispositivo NAS.

conectar putty desde synology

Escribir el código en JS

Para hacer una aplicación de prueba de conexión, añada un archivo llamado «index.js»

Para editar JS, recomiendo usar Visual Studio Code – https://code.visualstudio.com/

VS Code puede crear archivos directamente desde la línea de comandos – así que si está en la carpeta correcta, ejecutando index.js creará el archivo e iniciará el editor de una sola vez.

const express = require('express');
const app = express();
app.get('/', (req, res) => res.send('Hola Synologia'));
app.listen(4069, () => console.log('App de Ejemplo en el puerto 4069'));

 

Inicie sesión en un shell de comandos en su Synology usando Putty (u otro cliente SSH – si está en un Mac hay uno integrado en la aplicación Terminal) usando su cuenta de administrador.

Cambiar a la carpeta Server/mi_api_rest– lo más probable es que se llame «/volume1/server/mi_api_rest» o algo similar, por lo que el comando sería:

cd /volume1/server/mi_api_rest

 

Si la instalación de tu Node está completa – deberías poder usar npm para instalar las dependencias. Escriba los comandos:

npm init --yes 

para iniciar el proyecto con todos los valores predeterminados.

npm install express --save

para instalar y guardar la dependencia del servidor Express
Iniciar el proyecto Node:

node index.js

Debería ver un mensaje que dice «App de Ejemplo en el puerto 4069!»

En su navegador debería poder acceder a la aplicación a través de la URL:

http://[ip-local-del-Synology]:4069

Nosotros hemos utilizado http://192.168.1.12:4069

(4069 es el puerto que su servidor Express está escuchando).

 

Iniciar Servidor Node Al Arrancar Y Detener Al Apagar En Synology Desde Ssh

Crear Archivo bash Para Ejecutar el codigo de Arranque

Ahora Vamos a Crear un archivo para que ejecute nuestro servidor Node.js siempre que arranquemos nuestro Synology.

 

sudo su
cd /usr/local/etc/rc.d/
vim iniciaralarrancar.sh

 

Escribir dentro del archivo


#!/bin/sh
if [[ $1 = "start" ]]; then
echo "INICIANDO SERVIDOR NODE"
node /volume1/server/mi_api_rest/index.js

else if [[ $1 = "stop" ]]; then

echo "DETENIENDO SERVIDOR NODE "

killall node

else

echo 'No se ha seleccionado ninguna opcion...';

fi

fi

 

-Presionamos la tecla ESC

-Escribimos :wq  (guardar y salir en VIM)

 

dar permisos al archivo

Ahora damos permiso al archivo bash para que no haya problemas al ejecutar al inicio.

chmod 755 iniciaralarrancar.sh

 

 

Para ejecutar y probar el archivo:

Si queremos probar nuestro codigo bash si estamos en la carpeta /usr/local/etc/rc.d/

Para iniciar

./iniciaralarrancar.sh start

Para detener

./iniciaralarrancar.sh stop

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *