Cómo instalar una aplicación Node.js con Apache en Ubuntu 16.04
Node.js es un entorno de ejecución de JavaScript que te permite crear fácilmente aplicaciones de servidor. Utilizando el gestor de procesos PM2, puedes configurar una aplicación Node.js que se ejecute como un servicio en Ubuntu 16.04.
Ejecución de scripts Node.js como servicio
Aunque los scripts Node.js de open source pueden ejecutarse desde la línea de comandos utilizando la pantalla, ejecutar los scripts como un servicio utilizando el gestor de procesos PM2 proporciona a los scripts un comportamiento más robusto. Cuando se ejecutan como un servicio de esta manera, los scripts se reiniciarán automáticamente si el servidor se reinicia o el script se bloquea.
PM2 es un gestor de procesos para Node.js, con una amplia gama de funciones que puedes utilizar para controlar y gestionar tus scripts Node.js. Visita la página web oficial de PM2 para obtener más información sobre su uso.
Requisitos
- Un servidor cloud con Linux (Ubuntu 16.04).
- Un nombre de dominio que funcione y que esté vinculado al servidor.
- Un servidor web Apache funcional, instalado y en funcionamiento.
Con el saldo inicial de cada tarifa puedes usar el servidor cloud de IONOS durante 1 mes de forma gratuita (o hasta que se agote el saldo) y disfrutar de la combinación perfecta de rendimiento y seguridad.
Descarga el archivo de paquetes personales (PPA) de Node.js. Contiene una versión de Node.js más reciente que los repositorios de Ubuntu:
Ejecuta el comando nodesource_setup.sh para añadir el PPA a la caché de paquetes de tu servidor:
Este script actualizará el servidor automáticamente. No es necesario ejecutar apt-get update una segunda vez.
Después, instala Node.js:
Esto también instalará automáticamente npm.
Por último, instala el paquete build-essential para npm:
Crear una aplicación Node.js de ejemplo
Para este ejemplo, empezaremos creando un directorio separado en la raíz de documentos de tu página web para alojar aplicaciones Node.js:
Crea el archivo file hello.js en este directorio:
Añade el siguiente contenido de ejemplo al archivo:
Guarda y sal del archivo y haz que el archivo sea ejecutable:
Instalar PM2
Utiliza npm para instalar PM2 con el comando:
Inicia el script de ejemplo hello.js que acabas de crear con el comando:
Como root, añade PM2 a los scripts de inicio, para que se reinicie automáticamente si se reinicia el servidor:
- Copias de seguridad automáticas y fácil recuperación
- Gestión y planificación intuitiva
- Protección contra las amenazas basadas en IA
- Incluye crédito inicial de 250 € el primer mes
Configurar Apache
Para acceder al script Node.js desde la web, instala los módulos de Apache proxy y proxy_http con los comandos:
Una vez completada la instalación, reinicia Apache para que los cambios tengan efecto:
A continuación, tendrás que ajustar la configuración del proxy de Apache. Es necesario insertar las siguientes directivas en el bloque de comandos VirtualHost del archivo de configuración principal de Apache del sitio.
Por lo general, este archivo de configuración de Apache suele ser /etc/apache2/sites-available/example.com.conf en Ubuntu.
La ubicación y el nombre del archivo de configuración de Apache de un sitio pueden variar.
Edita este archivo con el editor que prefieras, por ejemplo, con el comando:
Desplázate por el archivo hasta que encuentres el bloque de comandos VirtualHost, que tendrá el siguiente aspecto:
Añade lo siguiente al bloque de comandos de VirtualHost:
Asegúrate de poner estas líneas fuera de cualquier bloque de comandos del directorio. Por ejemplo:
Guarda y sal del archivo, luego reinicia Apache para que los cambios tengan efecto:
Después de reiniciar Apache, puedes probar la aplicación viéndola en un navegador. Deberías ver el siguiente mensaje del archivo de prueba que creaste anteriormente: