2011-04-05 22 views

cevap

4

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.

+0

serin. Iis için yerleşik benzer bir şey var mı? –

+0

Hiçbir fikrim yok, ama bundan şüphe duyuyorum. –

2

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.

1

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

2

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.

0

Mümkün olduğu kadar kolaylaştırmak istedim.iisnode ile

Sorunlar

  1. Ben iisnode yüklü ve ben iisnode ile IIS üzerinde dağıtmak çalıştı hiçbir sorunla örnekleri ancak ...

  2. 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ı adrese http://localhost:3100/n numaralı adrese veya http://localhost:3100/ no'lu adrese sörf yapmaya çalışırsak bize Unknown 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

İlgili konular