사용자 도구


node.js

설치(우분투)

$ sudo apt-get install nodejs
$ sudo apt-get install npm
$ sudo apt-get install nodejs-legacy

모듈

  • Crypto

여기를 참고한다.

  • supervisor

global로 설치 후 $ supervisor server.js로 서버를 실행하면 소스가 바뀔 때마다 스스로 서버를 재실행한다.

환경 설정

이 부분은 정리가 좀 더 필요하다.

NODE_ENV 값을 변경하여 개발 / 배포 모드 중 하나를 지정해줄 수 있다.

$ export NODE_ENV=production

env.json 파일을 만들어서 개발 / 배포 모드에 따라 특정 값을 다르게 지정할 수도 있다.1)

express 모듈에서 이 값을 직접 불러와서 환경 설정을 하는 포스트2)가 있는데 무슨 말인지 모르겠다.

아파치 - node.js 연결

proxypass를 이용하면 아파치에서 node.js로 만든 페이지로 연결할 수 있다.

ProxyPass /node http://localhost:8000/

아파치 모듈을 불러오는 것도 잊지 말자.

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

Ubuntu에서는 a2enmod proxy proxy_http로 모듈을 불러오고 a2dismod proxy proxy_http로 모듈을 언로드할 수 있다.

위와 같이 설정하면 8000번 포트로 생성한 페이지를 {domain}/node로 접속할 수 있다.

위와 같이 서브폴더와 연결한 경우 node.js에서 절대 경로로 지정한 링크들을 /서브폴더/경로로 바꾸어주어야 한다. 그리고 상대 경로로 지정한 링크들도 제대로 불러오지 못했다.(왜 그런거지?) 이를 방지하려면 서브도메인을 만들어 해당 서브도메인의 루트(/)와 node.js 어플리케이션의 포트를 연결해주면 된다.

아래는 또다른 설정 예3)

<VirtualHost *:80>
    ServerAdmin     {ADMIN_EMAIL}
    ServerName      {SERVER_NAME}
    ServerAlias     {SERVER_ALIAS}
    ErrorLog        logs/error_log
    CustomLog       logs/access_log common
    ProxyRequests   off
    <Proxy *>
        Order       deny,allow
        Allow       from all
    </Proxy>
    <Location />
        ProxyPass           http://localhost:{PORT}/
        ProxyPassReverse    http://localhost:{PORT}/
    </Location>
</VirtualHost>

예제

Webstorm 개발 환경 설정

Webstorm은 기본적으로 Node.js 디버깅 기능을 제공한다. Run - Edit Configurations 메뉴 클릭 후 대화 상자에서 + 버튼을 클릭하고 Node.js를 선택하면 된다. 설정은 다음과 같이 하면 된다.

Node Interpreter Node js 설치 경로
- 윈도우의 경우 대부분 C:\Program Files\nodejs\node.exe
- 리눅스의 경우 대부분 /usr/bin/node
Working directory Node js 프로젝트 경로
JavaScript file Node js 프로젝트 메인 파일

프로젝트에 따라 Node parameters 또는 Application parameters 설정이 필요할 수 있다. Pomelo 게임 서버의 경우 Application parameters 속성 값을 env=development 등으로 설정하면 된다.

기타 참고 자료

관련 항목

튜토리얼 사이트

참고