tutorial servidor nodejs node lado español descubriendo con aplicacion node.js iisnode

nodejs - ¿Cómo ejecutar el servidor Node.JS para una aplicación web?



node js tutorial (4)

En Windows tienes dos opciones de alojamiento de aplicaciones node.js:

  1. Aloje automáticamente el proceso node.exe como lo haría en * nix. Durante el desarrollo, probablemente lo iniciará desde la línea de comandos. En producción, desea crear un mecanismo que proporcione la gestión de la vida útil del proceso en torno a node.exe (p. Ej., Iniciarlo cuando se inicie el SO). La forma más razonable de hacerlo en Windows es usar los Servicios de Windows (también conocidos como Servicios de NT). Un componente que puede ayudarlo a hacer esto es http://nssm.cc/ .
  2. Host node.js con el IIS utilizando iisnode ( http://github.com/tjanczuk/iisnode ). Comparado con el auto hospedaje, este método tiene una serie de beneficios descritos en https://github.com/tjanczuk/iisnode/wiki . Pero también desea explorar las implicaciones del rendimiento (no todas son malas en realidad): http://tomasz.janczuk.org/2012/06/performance-of-hosting-nodejs.html .

Info: Soy muy nuevo en node.JS!

He escrito un servidor de muestra que puede escuchar solicitudes de http en el puerto XXXX. Cuando ejecuto este servidor desde la línea de comandos (Windows), parece funcionar bien. Responde a las solicitudes realizadas a localhost: XXXX cuando se abre en un navegador.

Pregunta: ¿Es así como se supone que funciona esto? Para que se ejecute el servidor de nodo, ¿debería haber siempre un indicador de CMD abierto para que el servidor escuche las solicitudes? ¿No puedo hacer "algo" con IISNode?

Entiendo que si hago una solicitud a un archivo JS, esto se indica en IISNode como un archivo Node.JS y que NODE debería manejarlo; entonces tendré a Node manejando la solicitud por mí. Pero esto supone que IIS es el servidor web para mí y que Node puede manejar las solicitudes específicas.

Espero que tenga sentido aquí! :)


Lo que funcionó para mí:

  1. Instalar IISNode
  2. Instalar el módulo de reescritura de URL de IIS
  3. Agregue el archivo web.config en su aplicación / carpeta Node.js. Aquí está el contenido del archivo web.config:

    En el controlador, solo necesito apuntar a app.js (punto de entrada típico de su aplicación). No he modificado ninguna de mis rutas (no es necesario que agregue ningún texto).

..

<configuration> <appSettings> <add key="NODE_ENV" value="production" /> </appSettings> <system.webServer> <handlers> <add name="iisnode" path="server/app.js" verb="*" modules="iisnode" /> </handlers> <rewrite> <rules> <clear /> <rule name="cdw"> <match url="/*" /> <action type="Rewrite" url="server/app.js" /> </rule> </rules> </rewrite> </system.webServer> </configuration>


Lo resolví utilizando un método adecuado. Sí, IISNode es ... Pero ninguno de los comentarios pareció responder cómo "ejecutar" app.js para diferentes aplicaciones alojadas en el mismo IIS (que también sirve PHP, ASPX, etc.)

Paso 1. Edite el punto de entrada (típicamente) app.js de su aplicación de nodo para la nueva estructura de URL.

Una aplicación expresa asume que posee todo el espacio de URL e inicia las URL desde la propia raíz, como se muestra:



Edite su app.js para que se vea como sigue (¡pero ponga el nombre del directorio de SU aplicación en lugar de "aaspass"!):





Ahora coloque un archivo web.config en la raíz de su aplicación que se parece a lo siguiente (puede usar esta plantilla: webconfig).

Edite nuevamente el archivo y cambie el nombre "aaspass" al nombre de directorio de su aplicación.


¡Eso es! Puede hacer esto para tantas aplicaciones como sea necesario y alojarlas en el mismo servidor.