2014-03-05 3 views
3

내 node.js 앱을 실행하는 작동하는 Windows Azure 웹 사이트가 있고 모든 것이 정상적으로 작동했습니다. 나는 네이티브 node.js 모듈 (광섬유)을 실행할 필요가 있었으며, Windows Azure 클라우드 서비스로 옮겨야했습니다. Azure Cloud Service로 변환 마법사를 사용하여 내 응용 프로그램을 클라우드 서비스로 배포하고 노드 아래에서 광섬유를 실행할 수있는 웹 역할을 만들었습니다. 여태까지는 그런대로 잘됐다.Windows Azure 클라우드 서비스 이미지에서 iisnode 버전을 업데이트하는 방법

내 응용 프로그램에는 Azure 웹 사이트에서 지원되는 WebSocket이 필요합니다 (config UX에서 웹 사이트를 켜면 자동 또는 다소 자동으로). 나는 며칠 동안 클라우드 서비스로 작동하는 WebSocket을 얻으려고 싸우고 있으며, 클라우드 서비스에서 기본적으로 실행되는 iisnode의 버전이 너무 오래되어서 node.js 웹 소켓을 지원하지 못한다는 결론을 내 렸습니다. 정상적인 길. 클라우드 서비스는 iisnode 버전 1.21을 설치하고 iisnode의 WebSocket 지원은 버전 2.0까지 표시되지 않았습니다. 클라우드 서비스 이미지가 iisnode의 오래된 버전을 왜 사용하는지 알지 못합니다.

작업자 역할을 사용하고 다른 포트에서 듣고 싶지는 않습니다 (수집하는 방법은 많은 사람들이이 문제를 해결하는 방법입니다).

불행하게도 클라우드 서비스에 iisnode의 최신 버전을 설치하는 방법을 알 수 없습니다. (아마도 setup_web.cmd를 통해 클라우드 서비스를 시작할 때 설치 프로그램을 실행할 수 있습니다. 하지만 지금까지 내가 들어 왔로합니다.

모든 포인터를 내 애저 클라우드 서비스 iisnode의 최신 버전을 실행 얻기 위해 무엇을해야하는지에?

+0

실제로이 문제의 두 부분이 있습니다. iisnode 버전은 "에뮬레이터"(로컬에서 실행될 때)와 실제 클라우드 서비스 이미지에서 모두 업데이트해야합니다. 이 두 가지는 완전히 다른 방식으로 관리됩니다. 다행히도, 에뮬레이터 업데이트는 당황스럽지 않은 것으로 밝혀졌습니다. iisnode-dev를 로컬 컴퓨터에 설치하기 만하면됩니다. 현재 : https://github.com/downloads/WindowsAzure/iisnode/iisnode-dev-v0.2.2.msi 이제 클라우드 서비스 이미지를 업데이트하는 방법을 알아낼 수 있다면 ... – BobDickinson

답변

4

이 푸른에 설치 iisnode 버전 서비스를 호스팅을 업데이트하려면 당신은해야합니다 :

  1. n을 다운로드하십시오 iisnode 용 ewest x64 설치 관리자 http://go.microsoft.com/?linkid=9784331
  2. Hosted Service에 배포하려는 패키지에 * .msi 파일을 포함시킵니다.
  3. setup_web.cmd에서 msiexec /i iisnode-full-iis7-v0.2.7-x64.msi /passive으로 새 iisnode를 설치하십시오. 이것은 admin으로 실행해야하지만 setup_web.cmd는 이미 admin으로 실행됩니다.

일회용 설치의 경우 시스템에 TS를 보내서 수동으로 설치할 수 있습니다.

그런데 Windows Azure 웹 사이트에서 네이티브 모듈을 사용하지 못하게하는 것은 무엇입니까?

+0

WRT 네이티브 모듈을 Azure 웹 사이트에 설치 한 결과 노드를 로컬에서 잘 작동시키는 솔루션 인 fiber (node_modules에 Windows 바이너리가 미리 빌드되어 있음)를 추가 한 후 사이트를 배포하려고했습니다. Azure 웹 사이트에서는 코드가 파이버로 호출되는 시점에 멈 춥니 다 (이전과 더 명백하게 실패 할 것으로 예상했습니다). 그런 다음 네이티브 모듈 지원에 대한이 토론을 보았습니다. http://www.windowsazure.com/en-us/documentation/articles/nodejs-use-node-modules-windows-azure-apps/. 네이티브 코드를 명확하게 나타냅니다. in 노드 모듈은 Azure 웹 사이트에서 지원되지 않습니다. – BobDickinson

+0

위의 지시 사항을 사용하여 iisnode를 업데이트 할 수있었습니다 (n00b, 2와 같은 간단한 지침) 약간의 시행 착오가있었습니다.) 이제 내 사이트 보고서 : ** iisnode 모듈은 node.exe 프로세스를 시작할 수 없습니다. web.config의 system.webServer/iisnode/@nodeProcessCommandLine 요소에 지정된 위치에서 node.exe 실행 파일을 사용할 수 있는지 확인하십시오. 기본적으로 node.exe는 PATH 환경 변수에 나열된 디렉토리 중 하나에 있어야합니다. ** 이전에는 노드 경로를 지정하지 않았으므로 아무런 문제없이 명령 쉘에서 node를 실행할 수 있습니다. – BobDickinson

+0

FWIW, Windows Azure 클라우드 서비스는 기본적으로 \ Program Files (x86) \ nodejs \에서 32 비트 버전의 노드를 실행하며 플랫폼에 64 비트 버전의 노드가 설치되어 있지 않습니다. – BobDickinson

관련 문제