2012-07-22 3 views
3

socket.io 응용 프로그램을 확장하고 내 서버에서 여러 프로세스를 실행하려고합니다. 여러 개의 socket.io 프로세스가 동일한 포트를 공유합니까?

나는 여기에 설명 된대로 레디 스 매장 대신에 메모리 저장소를 사용 : https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO

내 서버는 포트 8090 수신 : = 10 var에 ('/ usr/지방/lib 디렉토리/node_modules/socket.io')를 필요로한다. 듣는다 (8090); 나는 두 번째 프로세스를 시작하면

, 내가 사용 오류에 주소를 얻을 : 이 경고 - 오류 발생 : 오류 : 가장 좋은 방법은이 문제를 처리 할 무슨

EADDRINUSE

을 들어? 각 프로세스의 포트와로드 밸런서를 구분하는 포트가 있습니까?

더 좋은 해결책이 있습니까?

답변

6

이 경우 나는 node-http-proxy을 사용하고 요청되는 URL을 기반으로 내부 포트로 트래픽을 라우팅합니다. 아래는 요청을 라우팅하는 데 사용하고있는 것의 아주 잘린 예입니다. 내 특정 설정에 대한

var httpProxy = require('http-proxy'); 

var httpOptions = { 
    router: { 
     'domain1.com/foo': 'localhost:3001', 
     'domain1.com/bar': 'localhost:3002', 
     'domain2.com/baz': 'localhost:3003', 
    } 
}; 

var httpServer = httpProxy.createServer(httpOptions); 
httpServer.listen(80); 

자세한 내용은이 질문에서 찾을 수 있습니다 : How to use vhosts alongside node-http-proxy?

관련 문제