Configurar mi Cloud Server con Node.JS + Nginx

Supervisor
Supervisor
  • Actualización

👇Primeros pasos para configurar tu Cloud Server con Node.JS + Nginx.

Ingresa a tu Cloud Server

  1. Ingresa MiCuenta y dirígete a "Mis Servicios" -> "Cloud & IaaS" -> "Gestionar" para acceder a la configuración de tu Cloud Server.

    329.png

  2. Ve a "Software y Accesos" y allí encontrarás los datos de conexión para acceder vía SSH a tu Cloud. Puedes ingresar desde la consola web o desde tu aplicación de preferencia.

    330.png

Configura Nginx

  • Dirigite al directorio de configuración de Nginx.
cd /etc/nginx/sites-available
  • Crea el vhost para el dominio que vas a utilizar para tu aplicación (en este caso utilizaremos como ejemplo technicaltest.ml).
nano technicaltest.ml
  • El mismo debe contener el siguiente código (recuerda reemplazar technicaltest.ml por tu dominio).
server {
server_name technicaltest.ml;
root /var/www/technicaltest.ml;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
  • Crea el enlace simbólico para el vhost (recuerda reemplazar technicaltest.ml por tu dominio).
cd /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/technicaltest.ml technicaltest.ml
  • Ahora debes probar Nginx para corroborar que lo anterior funcione
nginx -t

SI funciona, debe mostrar el siguiente mensaje:

  • Corroborado el funcionamiento, debes reiniciar Nginx.
service nginx restart
  • Por último, puedes comprobar el funcionamiento de Nginx.
service nginx status

331.png

Crea una aplicación en Node

Una vez configurado tu dominio en Nginx, debes crear la aplicación que será utilizada con Node.
  • En el directorio Root, creamos la aplicación.
cd /root
nano testapp.js

Dentro de testapp.js copia el siguiente código adaptado de la documentación oficial de Node.JS

const http = require('http');
const hostname = 'localhost';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hola mundo!\n');
});
server.listen(port, hostname, () => {
console.log(`Servidor corriendo en en http://${hostname}:${port}/`);
});
  • Ahora debes detener la aplicación que se encuentra corriendo por defecto en tu Cloud Server.
pm2 stop app.js
  • Por último, debes ejecutar tu aplicación con el servicio PM2.
pm2 start testapp.js

Cada vez que realices cambios en tu aplicacion testapp.js, tendras que ejecutar el comando pm2 restart testapp.js

Si deseas ingresar a tu aplicación de la forma ipcloud:3000 primero debes agregar una excepción en el firewall ya que por seguridad el puerto 3000 viene bloqueado por defecto.

Una vez realizado estos pasos, podrás ver, ingresando a tu dominio, la aplicación que creaste.

332.png

Como puedes ver, aún no hay certificado SSL instalado por lo que el dominio aparece como "No seguro".

Instala un certificado SSL

Instalar un certificado SSL es necesario para brindar la mayor seguridad a tu sitio.

  • En la consola debes ingresar el siguiente comando (recuerda reemplazar technicaltest.ml por tu dominio).
certbot --nginx -d technicaltest.ml -d www.technicaltest.ml
  • En la siguiente consulta debes seleccionar la opción "2" y presionar "Enter"

333.png

  • ¡Listo! Una vez finalizada la instalación del certificado verás el siguiente mensaje, y tu sitio ya estará protegido.

334.png

¿Fue útil este artículo?

Usuarios a los que les pareció útil: 3 de 3

¿Tiene más preguntas? Enviar una solicitud