Bloc

DESPLEGAMENT D’APLICACIONS NODE.JS EN SERVIDORS APACHE

Un dels aspectes que fan més difícil l’adaptació d’un desenvolupador PHP cap al desenvolupament en NodeJS és el desplegament i publicació de l’aplicació NodeJS. En aquest cas el problema ve donat perquè l’aplicació node representa un servei i un port específic, molt lluny de l’estructura domini/directori = aplicació que tenim en PHP

Prerequisits

  • sudo
  • node.js i npm
  • Nom de domini
  • IP pública

Preparació de l’aplicació

Instal·lació de curl,node.js i el paquet build-essential

 Existeixen alternatives a l’hora de iniciar automàticament la nostra aplicació

A través de rc.local (recomanable)

Si volem que algun programa s’iniciï després d’arrencar, només cal afegir-lo al fitxer /etc/rc.local:

Debian Stretch:

Es pot crear un servei tal i com indica el següent article:

https://linuxconfig.org/how-to-automatically-execute-shell-script-at-startup-boot-on-systemd-linux

Ajustaments de DNS i hosts

Habilitació de noms de domini

Habilitar mòduls proxy i proxy_http  de Apache, permeten redirigir tràfic del port d’aplicació al port 80 de httpd

sudo a2enmod proxy
sudo a2enmod proxy_http

Crear site definint característiques del site com a Proxy i ProxyReverse, modificar port del proxypass i proxyreverse segons aplicació.

<VirtualHost *:80>
<Proxy *>
Order deny,allow
     Allow from all
   </Proxy>
 ServerAdmin webmaster@exemple.dev
ServerName exemple.dev
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://127.0.0.1:8888/
ProxyPassReverse / http://127.0.0.1:8888/
</VirtualHost>