En esta ocación vamos a preparar nuestro entorno para aplicaciones que necesitán realizar peticiones por socket. Solo me enfocaré en dejar preparado un servidor js usando NodeJS como el entorno javascript del lado del servidor; Socket.io y Express JS para programar el server que escuchará las peticiones por socket. Así mismo instalaremos PM2 para programar que nuestro servidor js se ejecute automáticamente al iniciar o reiniciar el servidor. Empecemos:
Instalamos node
En Ubuntu
sudo apt-get install nodejs
sudo apt-get install npm
nodejs -v
Instalar node en CentOS 7
curl -sL https://rpm.nodesource.com/setup_12.x | bash -
yum install nodejs
Verificamos las versiones
node -v
npm -v
Instalar socketio y express
Vamos a nuestro proyecto. En mi caso tengo un proyecto php en apache /var/www/html/proyecto
npm install socket.io
npm install express --save
abrir el puerto 3000 que es para nuestro nod. En mi caso para CentOS 7
firewall-cmd --zone=public --add-port=3000/tcp --permanent
reiniciamos
firewall-cmd --reload
podemos revisar la versión ejecutando
npm list socket.io
Instalar PM2 para iniciar una app nodejs en producción en CentOS 7
Ingresamos a nuestra carpeta donde esta nuestro servidor js
npm install pm2@latest -g
Iniciamos sobre nuestro archivo servidor js (este archivo ya debe estar creado y contienen la programación del servidor. En mi aso lo tengo dentro de la carpeta del proyecto)
pm2 start servidor.js
Veremos la sálida del servicio iniciado con su nombre para su posterior uso con los comandos

Configuramos para que se reinicie el servicio automáticamente nuestro servidor
pm2 startup systemd
Guardamos la configuración
pm2 save
Luego podemos usar los sgtes. comando
Parar el servicio
pm2 stop servidor
Iniciar el servicio
pm2 start servidor
Reiniciar el servicio
pm2 restart servidor
Ver lista de servicios
pm2 list
Ver info de algún servicio especifico
pm2 info servidor
Ver consumo de recursos
pm2 monit
Enamorado del blues, la trova y el rock. Un apasionado a tiempo completo de la tecnología, pivoteo y me adapto a cada nuevo paso que se da. Busco continuamente las mejores prácticas y metodologías para asegurar la calidad en el software y los procesos de negocio. Algunas horas las dedico a buscar conocimiento en filosofía y teología.