Bu son derece basit bir sorgu olabilir, ancak node.js'yi Windows Server 2008 ortamında IIS ile kullanabilir miyim? Daha iyi çalışan bir "Microsoft" kütüphanesi veya başka bir çözüm var mı?node.js'yi IIS ile kullanabilir misiniz?
cevap
İzlenecek hızlı todo uygulamayı oluşturmak için Windows + IIS + node.js + mongodb kurmak için
http://www.amazedsaint.com/2011/09/creating-10-minute-todo-listing-app-on.html
Windows üzerinde node.js yükleyebilirsiniz, ancak bunun bir vekil olarak IIS kullanarak sürece bu yüzden, kendi sunucusudur, hiç IIS için gerek yoktur. Node.js's installation instructions alıntı Aşağıdaki olsa da, Not:
Ne [Windows] oluşturur tatminkar kararlı ama bir şey yayınlanmasını sağlamak mümkündür.
Windows'ta Node'yi Cygwin ile kullanıyorum ve birkaç sorun yaşadım. Varsayılan bağlantı noktası 80'de hizmet vermek için IIS'yi kullanabilir ve Düğüm uygulamalarınızı farklı bağlantı noktalarında çalıştırabilirsiniz.
sonra en vekil istiyoruz Nginx kullanıyorsanız.
Windows üzerinde build node.js ama nedeniyle olası kararlılık sorunları için kullanmak tavsiye edilmez olabilir. IIS, iş parçacığı tabanlı havuzlar kullanıyorsa,(linux tabanlı sistemlerde genellikle nginx genellikle bunu yapmak için kullanılır) node.js için kullanmamalısınız, çünkü havuz hızlı bir şekilde tam olarak yüklenebilir. Windows'ta node.js'ye benzer bir şey istiyorsanız, manos'a bakmaya çalışmalısınız. Eğer IISNode Project kontrol edebilirsiniz Emin
.
bu konuda bazı iyi haberler şimdi vardır:
Installing and Running node.js applications within IIS on Windows - Are you mad?
Hosting node.js applications in IIS on Windows
... hatta bir github projesi:
https://github.com/tjanczuk/iisnode/tree/master/src/samples
https://github.com/tjanczuk/iisnode
İlk bağlantı bozuk –
Sen aslında IIS üzerinden node.js uygulamasını çalıştırmak için iki güzergah var. sadece node.js bütün bir uygulamayı ithaf ve varsa Application Request Routing
kullanılarak
- IISNode
- Reverse Proxy varolan IIS Uygulaması üzerinden çalışmak için ortak karşılıklı bitiş noktası lazım, ARR kullanarak öneririm tüm siteyi yönlendirmek için. Bunu birkaç proje için yapıyorum ve gayet iyi çalışıyor. IIS vs senin düğüm kodunda yabancı uç noktaları yapıyoruz gibi görünüyor olarak
dürüst olmak gerekirse, ben, IISNode makbul değil. Çalışır ve Azure'u özellikle hedefliyorsanız, en iyi seçeneğiniz olabilir. Eğer mevcut bir .NET uygulamasında boynuzlamak zorundaysanız, en iyi seçenek de olabilir.
Mümkün olduğu kadar kolaylaştırmak istedim.iisnode ile
Sorunlar
Ben iisnode yüklü ve ben iisnode ile IIS üzerinde dağıtmak çalıştı hiçbir sorunla örnekleri ancak ...
koştu, ama benim meteor paketlemek zorunda uygulamasını ve ardından bir düğüm uygulaması olarak dağıtın. Kaçtığım problem beni kırdı. Hiç yüklemek için
fibers
alamadım. derleme süreci, trowing hatalarını tuttu, ben de vazgeçtim. Benim için bu çözmek için ne yaptık Ters Vekil IIS
IIS üzerinde bir ters proxy kullanmaktır.
see my post on meteor forum Benim son web.config girişi oldu
:
ben kullanmak IIS üzerinde ters vekil vardı aynı, ancak, yolu etki alanında bir alt klasör beni attı vermedi arasında.ROOT_URL kullanarak bir alt yolunu belirleyebileceğinin farkında değildim. benim meteor app klasörünün içindeki aşağıdaki komutu çalıştırırsanız
örnek: Ben
http://localhost:3100/n/todos
benim uygulamaya erişmek mümkün olacak
set ROOT_URL=http://localhost:3100/n/todos && meteor
, ihbar ben sondaki
/
atlanmış. numaralı adresehttp://localhost:3100/n
numaralı adrese veyahttp://localhost:3100/
no'lu adrese sörf yapmaya çalışırsak bizeUnknown path
numaralı bir hatayı verir.Bu nedenle, ilk önce ters proxy'yi kurduğumda, her seferinde
Unknown Path
hatasını alıyordum.benim IIS yapılandırmasına, ben eylemi url değeri olarak
http://localhost:3100/n/todos
belirtmek olduğu kapatır, lütfen ihbar sonunda "n/todos".Yani benim yeniden yazma kuralı böyle sona erdi: [dosyayı 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> ```
Teşekkür
- 1. Amazon S3'ü Flex ile kullanabilir misiniz?
- 2. vardiya ile joker karakterler kullanabilir misiniz?
- 3. .Babelrc'de regex kullanabilir misiniz?
- 4. Cordova uygulamasında çerez kullanabilir misiniz?
- 5. JNI yerine Apache Thrift'i kullanabilir misiniz?
- 6. Bir Silverlight DataGrid'de bir PagedCollectionView ile ScrollIntoView() kullanabilir misiniz?
- 7. Java EE çerçevelerini Google App Engine ile kullanabilir misiniz?
- 8. Facebook Duvarınıza Open Graph API ile yayınlarken "@" işareti kullanabilir misiniz?
- 9. . Select Case Statement ile birlikte .Contains (string) kullanabilir misiniz?
- 10. Kompozit anahtarlarla ADO.NET SQLCommandBuilder'ı kullanabilir misiniz?
- 11. VMWare'nin Uzaktan Konsolunu Google Chrome'da kullanabilir misiniz?
- 12. jquery nesneleriyle omurga dinletisini kullanabilir misiniz?
- 13. Java'da, negatif olanı alt dizeyle kullanabilir misiniz?
- 14. PHP'de bir mysql sonucunu yeniden kullanabilir misiniz?
- 15. Paragraf anahtar sözcüğünü bir temsilcide kullanabilir misiniz?
- 16. Node.js: Eşzamansız işlevleri akımların içinden kullanabilir misiniz?
- 17. C# içinde genel formları kullanabilir misiniz?
- 18. Redux'un başlangıç durumunda localStorage'ı kullanabilir misiniz?
- 19. IIS ile www neden 404 in IIS
- 20. IIS
- 21. Hapi.JS'yi bir mikro servis çerçevesi olarak kullanabilir misiniz?
- 22. Telefon hafızası ile php kullanabilir miyim?
- 23. hammer.js pan olaylarını kullanabilir ve kullanıcıların kaydırmasına izin verebilir misiniz?
- 24. Küçük görevler için performans std :: async 'yi defalarca kullanabilir misiniz?
- 25. Ayrıca, ASP.Net siteleri için Settings.Settings dosyasını kullanabilir misiniz?
- 26. UINavigationItem'in başlık görünümünü ayarlamak için UIAppearance kullanabilir misiniz?
- 27. Başta, bir işlev çağrısını if ifadesinde koşul olarak kullanabilir misiniz?
- 28. Android oyun mağazası uygulamasını silebilir ve paket adını kullanabilir misiniz?
- 29. Başka bir üye bildirirken siz bir üyenin boyutunu kullanabilir misiniz?
- 30. İsteğe bağlı parametreleri WCF hizmet yönteminde kullanabilir misiniz?
serin. Iis için yerleşik benzer bir şey var mı? –
Hiçbir fikrim yok, ama bundan şüphe duyuyorum. –