IIS를 리버스 프록시로 사용하여 Windows에서 Node.js 애플리케이션 호스팅

4133 단어 iisnodewindowshosting
불행히도 많은 회사가 여전히 Windows 서버에 갇혀 있습니다. Microsoft를 선택했다고 해서 해고된 사람은 아무도 없습니다. 서버 기술을 선택하는 것이 일반적으로 ASP.Net으로 제한되기 때문에 개발자로서 이는 실망스러울 수 있습니다. iisnode 을 사용하여 Windows 서버에서 Node.js 애플리케이션을 호스팅하는 실험을 했습니다. 그러나 시작하고 실행하는 것은 고통스러운 일이며 올바른 권한을 설정하는 것은 시간이 많이 걸리는 일입니다. Microsoft가 프로젝트 개발을 통제했지만 더 이상 활발하지 않다는 느낌이 듭니다. 사람들이 구성을 포기하는 몇 가지 Stackoverflow 질문이 있습니다.

그래서 다른 길을 가고 싶었다. Node.js 웹 서버를 사용하고 IIS를 역방향 프록시로 사용하여 트래픽을 Node.js 웹 서버로 라우팅할 수 있다면 어떨까요? 우리는 iisnode를 버리고 Node.js 웹 애플리케이션을 호스팅하기 위한 보다 안정적인 솔루션을 가질 수 있기를 바랍니다.

먼저 작은 테스트 프로젝트가 필요합니다. 이 프로젝트hello world Node.js Express application는 다음을 수행합니다.

var express = require('express');
var app = express();

app.get('/', function (req, res) {
  res.send('Hello World!');
});

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});

이를 실행하려면 서버에 Node.js를 설치해야 합니다. 설치되면 명령 프롬프트를 열고 node app.js를 입력하여 테스트 응용 프로그램을 실행할 수 있습니다. 모든 것이 잘 진행되면 이제 로컬 서버에서 http://localhost:3000를 통해 테스트 애플리케이션에 액세스할 수 있습니다.

configure IIS as reverse proxyURL Rewrite extensionApplication Request Routing extension을 설치해야 합니다. URL 재작성 확장 프로그램을 사용하면 사용자가 기억하기 쉽고 검색 엔진이 찾기 쉬운 URL을 활성화하는 규칙을 정의할 수 있습니다. 애플리케이션 요청 라우팅 확장은 로드 밸런싱, 규칙 기반 라우팅 등의 확장성 기능을 활성화합니다.

이러한 확장이 설치되면 IIS 구성을 시작할 수 있습니다. 실행 창을 열고 inetmgr 명령을 입력하여 IIS(인터넷 정보 서비스) 관리자를 엽니다. 리버스 프록시를 설정할 사이트를 선택하고 URL 재작성 확장 프로그램을 엽니다.



새 규칙을 추가하고 Reverse Proxy 템플릿을 선택합니다.



메시지가 표시되면 프록시 기능을 활성화합니다.



node.js 웹 사이트의 주소를 추가하고 역방향 프록시 규칙에 포트를 포함하는 것을 잊지 마십시오.



규칙이 추가되면 리버스 프록시 구성이 작동합니다.



마지막으로 필요한 부분은 Node.js 애플리케이션을 안정적으로 실행하는 방법입니다. 명령 프롬프트를 통해 시작하고 창을 열어 두는 것은 영구적인 솔루션이 아닙니다. 누군가 서버에 로그인하고 창을 닫으면 웹사이트가 다운됩니다. pm2은 Node.js 프로세스 관리자이며 애플리케이션을 계속 실행하는 데 사용할 수 있습니다. npm을 사용하면 pm2를 쉽게 설치할 수 있습니다.

npm install -g pm2

일단 설치되면 다음 명령을 사용하여 프로세스를 관리할 수 있습니다.
  • pm2 start app.js : Node.js 응용 프로그램 시작
  • pm2 stop : 실행 중인 프로세스 중지
  • pm2 restart : 실행 중인 프로세스를 다시 시작합니다
  • .
  • pm2 list : 실행 중인 모든 프로세스를 나열합니다
  • .

    pm2는 훨씬 더 많은 일을 할 수 있습니다. 자세한 내용은 their website을 확인하십시오. 내 자신의 블로그가 현재 이 설정에서 실행되고 있습니다.

    이것은 내 own blog의 교차 게시물입니다.

    좋은 웹페이지 즐겨찾기