{"id":2114,"date":"2020-08-24T13:16:48","date_gmt":"2020-08-24T18:16:48","guid":{"rendered":"https:\/\/creativapixel.com\/?p=2114"},"modified":"2020-08-24T14:06:52","modified_gmt":"2020-08-24T19:06:52","slug":"preparando-nuestro-entorno-node-js-para-servir-peticiones-por-socket","status":"publish","type":"post","link":"https:\/\/creativapixel.com\/blog\/preparando-nuestro-entorno-node-js-para-servir-peticiones-por-socket\/","title":{"rendered":"Preparando nuestro entorno Node JS para servir peticiones por socket"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">En esta ocaci\u00f3n vamos a preparar nuestro entorno para aplicaciones que necesit\u00e1n realizar peticiones por socket. Solo me enfocar\u00e9 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\u00e1 las peticiones por socket. As\u00ed mismo instalaremos PM2 para programar que nuestro servidor js se ejecute autom\u00e1ticamente al iniciar o reiniciar el servidor.  Empecemos:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instalamos node<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En Ubuntu<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> sudo apt-get install nodejs<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code> sudo apt-get install npm<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code> nodejs -v<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Instalar node en CentOS 7<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> curl -sL https:\/\/rpm.nodesource.com\/setup_12.x | bash -<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code> yum install nodejs<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Verificamos las versiones<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> node -v<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code> npm -v<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Instalar socketio y express<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vamos a nuestro proyecto. En mi caso tengo un proyecto php en apache \/var\/www\/html\/proyecto<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> npm install socket.io<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code> npm install express --save<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">abrir el puerto 3000 que es para nuestro nod. En mi caso para CentOS 7<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> firewall-cmd --zone=public --add-port=3000\/tcp --permanent<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">reiniciamos<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> firewall-cmd --reload<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">podemos revisar la versi\u00f3n ejecutando<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> npm list socket.io<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Instalar PM2 para iniciar una app nodejs en producci\u00f3n en CentOS 7<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> Ingresamos a nuestra carpeta donde esta nuestro servidor js<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code> npm install pm2@latest -g<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Iniciamos sobre nuestro archivo servidor js (este archivo ya debe estar creado y contienen la programaci\u00f3n del servidor. En mi aso lo tengo dentro de la carpeta del proyecto)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> pm2 start servidor.js<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Veremos la s\u00e1lida del servicio iniciado con su nombre para su posterior uso con los comandos<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"70\" src=\"https:\/\/creativapixel.com\/wp-content\/uploads\/2020\/08\/servidorjs-1024x70.png\" alt=\"\" class=\"wp-image-2122\" srcset=\"https:\/\/creativapixel.com\/blog\/wp-content\/uploads\/2020\/08\/servidorjs-1024x70.png 1024w, https:\/\/creativapixel.com\/blog\/wp-content\/uploads\/2020\/08\/servidorjs-300x20.png 300w, https:\/\/creativapixel.com\/blog\/wp-content\/uploads\/2020\/08\/servidorjs-768x52.png 768w, https:\/\/creativapixel.com\/blog\/wp-content\/uploads\/2020\/08\/servidorjs.png 1202w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Configuramos para que se reinicie el servicio autom\u00e1ticamente nuestro servidor<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> pm2 startup systemd<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Guardamos la configuraci\u00f3n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> pm2 save<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Luego podemos usar los sgtes. comando<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Parar el servicio<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> pm2 stop servidor<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Iniciar el servicio<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> pm2 start servidor<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Reiniciar el servicio<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> pm2 restart servidor<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ver lista de servicios<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> pm2 list<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ver info de alg\u00fan servicio especifico<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> pm2 info servidor<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ver consumo de recursos<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> pm2 monit<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>En esta ocaci\u00f3n vamos a preparar nuestro entorno para aplicaciones que necesit\u00e1n realizar peticiones por socket. Solo me enfocar\u00e9 en dejar preparado un servidor js usando NodeJS como el entorno &#8230;<\/p>\n","protected":false},"author":1,"featured_media":2124,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17,54,52,18,53],"tags":[],"class_list":["post-2114","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-centos","category-express-js","category-nodejs","category-servidores-gnulinux","category-socket-io"],"_links":{"self":[{"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/posts\/2114","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/comments?post=2114"}],"version-history":[{"count":8,"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/posts\/2114\/revisions"}],"predecessor-version":[{"id":2123,"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/posts\/2114\/revisions\/2123"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/media\/2124"}],"wp:attachment":[{"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/media?parent=2114"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/categories?post=2114"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/creativapixel.com\/blog\/wp-json\/wp\/v2\/tags?post=2114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}