Esto puede ser una pregunta extremadamente simple, pero ¿puedo usar node.js en un entorno de Windows Server 2008 con IIS? ¿Hay una biblioteca de "Microsoft" u otra solución que funcione mejor?¿Se puede usar node.js con IIS?
Respuesta
Tutorial para configurar Windows IIS + + + Node.js MongoDB para construir una aplicación rápida de tareas
http://www.amazedsaint.com/2011/09/creating-10-minute-todo-listing-app-on.html
Puede instalar Node.js en Windows, pero es su propio servidor, por lo tanto, a menos que esté utilizando IIS como proxy, no hay necesidad de IIS en absoluto. Sin embargo, tenga en cuenta lo siguiente citado de Node.js's installation instructions:
Ni [Windows] compilaciones son satisfactoriamente estables, pero es posible ejecutar algo.
He estado usando Node en Windows con Cygwin y tuve algunos problemas. Puede usar IIS para servir en el puerto 80 predeterminado y ejecutar sus aplicaciones Node en diferentes puertos.
Si desea un proxy, la mayoría usa Nginx.
Puede build node.js en Windows, pero no se recomienda su uso debido a posibles problemas de estabilidad. Si IIS está utilizando grupos basados en subprocesos, entonces ni siquiera debería usarlo como reverse proxy (en los sistemas basados en Linux, nginx generalmente se usa para hacer esto) para node.js porque el grupo puede cargarse rápidamente. Si desea algo similar a node.js en Windows, intente consultar manos.
Seguro que puedes, echa un vistazo a IISNode Project.
Hay algunos buenos artículos en este momento:
Installing and Running node.js applications within IIS on Windows - Are you mad?
Hosting node.js applications in IIS on Windows
... incluso un proyecto github con algunas muestras:
https://github.com/tjanczuk/iisnode/tree/master/src/samples
https://github.com/tjanczuk/iisnode
El primer enlace está roto –
Usted tiene básicamente dos vías para ejecutar una aplicación Node.js a través de IIS.
Si está dedicando toda una aplicación para Node.js y simplemente necesitan el punto final del lado público para trabajar a través de su aplicación de IIS existente, se recomienda usar ARR para enrutar todo el sitio a través de. Estoy haciendo esto para un par de proyectos, y funciona bastante bien.
Para ser sincero, no me ha gustado IISNode, ya que parece que está creando puntos finales ajenos en su código de nodo frente a IIS. Funciona, y si se dirige a Azure en particular, puede ser su mejor opción. También puede ser la mejor opción si tiene que conectarlo a una aplicación .Net existente.
Quería hacerlo lo más fácil posible.
Problemas con iisnode
I instalado iisnode y corrió las muestras sin ningún problema, pero ...
he tratado de implementarlo en IIS con iisnode, pero tenía que atar mi meteoro aplicación y luego implementarlo como una aplicación de nodo. El problema con el que me encontré me desanimó. No pude instalar
fibers
. el proceso de compilación mantuvo errores de trowing, así que me di por vencido.
proxy inverso IIS
Lo que hice para resolver esto para mí es usar un proxy inverso en IIS.
Mi entrada web.config final fue:
Hice lo mismo, sin embargo, la forma que tenía el proxy inverso en IIS para utilizar una subcarpeta en el dominio me tiró de.
No sabía que al usar ROOT_URL pudiéramos especificar la ruta a sub .
ejemplo, si corro el siguiente comando dentro de mi carpeta de aplicación de meteoritos:
set ROOT_URL=http://localhost:3100/n/todos && meteor
podré acceder a mi aplicación en
http://localhost:3100/n/todos
, aviso que omite el arrastre/
. Y si tratamos de navegar a la direcciónhttp://localhost:3100/n
ohttp://localhost:3100/
nos dará un errorUnknown path
.Así que, cuando configuré por primera vez el proxy inverso, recibía el error
Unknown Path
todo el tiempo.Resulta que en mi configuración de IIS, tengo que especificar el
http://localhost:3100/n/todos
como el valor URL en la acción, por favor notificación del "n/todos" al final.Así que mi regla de reescritura terminó así: [archivo @ c: /inetpub/wwroot/web.config]
``` <configuration> <system.webServer> <rewrite> <rules> <rule name="TODOs meteor app. Route the requests" stopProcessing="true" enabled="true"> <match url="^n/todos/(.*)" /> <conditions> <add input="{CACHE_URL}" pattern="^(https?)://" /> </conditions> <action type="Rewrite" url="{C:1}://localhost:3100/n/todos/{R:1}" /> <!-- I was missing the /n/todos here --> <serverVariables> <set name="HTTP_ACCEPT_ENCODING" value="" /> </serverVariables> </rule> </rules> <outboundRules> <rule name="TODOs ReverseProxyOutboundRule1" preCondition="ResponseIsHtml1" enabled="false"> <match filterByTags="A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script" pattern="^http(s)?://localhost:3100/(.*)" /> <action type="Rewrite" value="/n/todos/{R:2}" /> </rule> <rule name="TODOs RewriteRelativePaths" preCondition="ResponseIsHtml1" enabled="false"> <match filterByTags="A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script" pattern="^/(.*)" negate="false" /> <action type="Rewrite" value="/n/todos/{R:1}" /> </rule> <rule name="ReverseProxyOutboundRule1" preCondition="ResponseIsHtml1"> <match filterByTags="A, Form, Img" pattern="^http(s)?://localhost:3100/(.*)" /> <action type="Rewrite" value="http{R:1}://localhost/{R:2}" /> </rule> <preConditions> <preCondition name="ResponseIsHtml1"> <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" /> </preCondition> </preConditions> </outboundRules> </rewrite> </system.webServer> </configuration> ```
Gracias
- 1. ¿Puede node.js integrarse con php?
- 2. ¿Cómo usar Prototype.js con Node.js?
- 3. ¿Se puede usar un proxy (como el violín) con ClientRequest de Node.js
- 4. Node.js - no se puede encontrar el módulo
- 5. ¿Se puede usar @Autowired con campos estáticos?
- 6. ¿Se puede usar Clutter con Python 3?
- 7. ¿se puede usar batman.js con express?
- 8. ¿Se puede usar MySqlBulkLoader con una transacción?
- 9. ¿Se puede usar Console2 con Powershell?
- 10. ¿Se puede usar valgrind junto con Cygwin?
- 11. ¿Se puede usar counter_cache con has_many?
- 12. ¿Se puede usar Django con py2exe?
- 13. ¿Se puede usar currying con funciones lambda?
- 14. ¿Se puede utilizar el nodo-inspector de depurar una aplicación que se ejecuta con Node.js capataz
- 15. ¿Cómo usar SCSS con Express? (Node.js)
- 16. No se puede encontrar IIS en Windows 7 Home Basic
- 17. No se puede usar DialogResult
- 18. No se puede depurar remotamente IIS - w3wp.exe aparece en gris
- 19. No se puede encontrar el módulo 'connect', cuando se intenta usar require ('connect'). Utils.parseCookie con nodejs
- 20. No se puede usar Server.MapPath
- 21. ¿Puede node.js reemplazar a Ruby?
- 22. problema de websocket: no se puede conectar al servidor node.js
- 23. se puede construir el complemento node.js personalizado pero no se puede incluir
- 24. ¿Qué puede hacer que node.js imprima y se elimine?
- 25. ¿Se puede ejecutar Node.js dentro del servidor Tomcat?
- 26. ¿Necesita usar path.join en Node.js?
- 27. No se puede obtener el directorio de recogida IIS
- 28. MongoDB + Node.js: no se puede insertar la fecha correctamente
- 29. No se puede encontrar el módulo formidable - Node.js
- 30. no se puede ejecutar node.js en el teléfono Android?
fresco. ¿Hay algo similar incluido en iis? –
No tengo idea, aunque lo dudo. –