Paso a paso debo hacer esto:
De la forma habitual hago lo siguiente:
En debian lo hago con el siguiente comando.
sudo apt install nodejs npm -y
la instalación crea una carpeta llamada "node_modules
" en la carpeta principal del usuario. Debo copiar le contenido de esa carpeta en la carpeta "public_html
" del dominio que he creado en el paso 1.
En el dominio que hemos creado en el paso 1, creo un proxy hacia:
http://localhost:30XX
El puerto me lo invento. Debo poner uno cualquiera.
Primero debo copiar todos los archivos de la página web en la carpeta pública del dominio, en...
/home/midominio.com/public.html
En esa carpeta, debe haber un archivo SvServer.js que he metido ahí en el paso 2. Lo edito con
sudo nano SvServer.js
En las primeras líneas debe haber algo similar a esto.
const express = require('express');
const fs = require('fs');
const path = require('path');
const app = express();
const port = 3008;
app.use(express.static('.'));
...
Debo buscar el puerto (en este ejemplo está en la línea 5) y cambiarlo por lo el puerto que me he inventado en el paso 3.
Si tenemos varias webs, podemos poner un puerto distinto a cada una de ellas.
En /etc/systemd/system
hago un servicio nuevo con este comando.
nano midominio.com.service
El contenido debe ser similar a esto.
Cuidado: debemos modificar cosas en ese archivo
[Unit]
Description=Demonio del nodeJS de midominio.com
DefaultDependencies=no
After=network.target
[Service]
Type=simple
User=root
AmbientCapabilities=CAP_NET_BIND_SERVICE
WorkingDirectory=/home/midominio.com/public_html
ExecStart=/usr/bin/node /home/midominio.com/public_html/SvServer.js
TimeoutStartSec=0
RemainAfterExit=yes
[Install]
WantedBy=default.target
Fijaos que las filas que debo modificar con la información de nuestro dominio son éstas.
...
Description=Demonio del nodeJS de midominio.com
...
WorkingDirectory=/home/midominio.com/public_html
ExecStart=/usr/bin/node /home/midominio.com/public_html/SvServer.js
...
Ejecuto una a una estas líneas
sudo systemctl daemon-reload
sudo systemctl enable midominio.com.service
sudo systemctl start midominio.com.service
sudo systemctl status midominio.com.service
Sigo esta guía para habilitar el certificado en ese dominio