윈도우 서버 + ASP + Node.js

이번에 내가 수행해야 할 일은

기존의 ASP가 디플로이 되어있는 ‘‘windows server 2012 r2”서버에 내가 만든 node.js 프로젝트를 포팅. 이 node.js 프로젝트는 리눅스 버전의 한글 형태소 분석기인 (mecab)이 설치 되어 있음.(윈도우 버전으로 변환해야함) 추가적으로 watson API도 연동해야함(bluemix 연동)

그래서 개발 to-do-list를 정리해보니깐

  1. 윈도우 서버에 node.js 적용 (IIS node.js 적용)
  2. mecab-ko 윈도우 버전 적용
  3. watson api 적용
  4. ASP 적용
  5. 기존 서버에 적용

이 중에서 첫 번째에 대한 내용이다.

1. windows server 2012 R2 한글 적용

일단 기존 윈도우 서버는 한글이어서 내 연습용 서버도 한글 메뉴로 변환해봤다. 이 작업은 링크로 대체한다.

2. IIS(Internet Information Sevices)

처음 써봤는데 윈도우 서버에서 사용하는 웹서버라 한다.(나중에 공부해야겠다.) 이 것을 설치해야하는데 방법은 간단하다. 이 작업도 링크로 대체한다.

3. iisnode

일단 윈도우 서버에 node.js 적용 방법은 iisnode를 설치해서 하는 방법이 있었다.(다른 방법이 있긴 하지만 아파치를 사용.. 상대적으로 어렵다고 함) 여기서 뻘짓을 많이 했는데 가장 적합한 링크는 이 것이었다. 뻘짓 리스트 중 하나는 setupsamples.bat 이라는 배치 파일을 통해 기존 예제를 적용하는데 저게 없는 iisnode 설치 버전이 많았다. 그리고 굳이 8.x 버전을 찾지 않아도 된다. 7.x버전도 잘 작동된다.

4. iisnode 오류

This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false".

사실 글을 쓰게 된 이유인데 이런 오류가 났다. 한참을 찾아봤는데 권한 문제였다. 한글 버전으로 IIS/ root(이름이 root는 아니다. 가장 최상단 폴더) / 기능 위임(Feature Delegation)으로 들어가서 처리기 매핑(handler mapping)을 입력/출력으로 변환한다. 몇몇개를 제외하고 작동한다.(express모듈은 노 작동…) 해결링크

Written on November 27, 2017