Correr una aplicación node desde Homestead

Homestead un ambiente de desarrollo virtual  popular para desarrollos  Laravel. Es una herramienta útil precargada con  lo esencial y un poco más para tener un ambiente local de desarrollo potente. Pero lo que en esta ocasión nos compete es el tema de como nos conectamos  a una aplicación JAVASCRIPT con node alojada en nuestro Homestead. Para ello haremos uso de un sistema de control de servicios disponible en el entorno Homestead llamado Supervisord.

Como primer paso Vamos a nuestro archivo Homestead.yaml ( que debería estar alojado en tu carpeta Homestead ) y agregamos un nuevo del server nginx con el puerto al que apunta nuestro servidor node, en mi caso es el siguiente:  


    - map: angular-licencias.local
      to: 4200
      type: proxy

Sin dejar de lado por supuesto el agregar este proxy a nuestro archivo hosts.


    192.168.10.10 node-app.local

Reiniciamos nuestra VM Homestead en caso de que ya este corriendo con el siguiente comando...


 $ vagrant reload –provision

Una vez que nuestra VM este corriendo creamos un archivo en /etc/supervisor/conf.d/nodeserver.conf con el siguiente contenido...


    [program:nodeserver]
    command=/usr/bin/node /var/www/node-web-server/server.js
    directory=/var/www/node-web-server
    autostart=true
    autorestart=true
    startretries=3
    user=vagrant

Desde la línea de comandos de nuestra VM corremos los siguientes comandos para actualizar Supervisord...


    sudo supervisorctl reread
    sudo supervisorctl update

Con esto ya podremos acceder a nuestra url angular-licencias.local y ver nuestra aplicación node.