2014-04-03 2 views
1

공유 호스팅에 node.js 서버를 설치했습니다. node.js 통합 모듈을 사용하여 node.js 서버에 연결하는 drupal 사이트가 있습니다. 관리자 패널에서 메시지를 브로드 캐스팅하려고 할 때마다이 오류 메시지 "Node.js 서버에 도달하는 중 오류가 발생했습니다." "nodejs/publish"의 Node.js 서버에 {{data ": {"somecustomdata ":"http://www.google.ca "},"channel ":"nodejs_user_1 ","callback ":"myowncallback ","clientSocketId ":" "}"% { "data": { "somecustomdata" "http://www.google.ca"}, "channel": "nodejs_user_1", "callback": "myowncallback", "clientSocketId": ""} ": [404]을 (를) 찾을 수 없습니다."db 로그에서drupal에서 Node.js 서버에 접속하는 중에 오류가 발생했습니다.

.

어떤 도움을 주시면 감사하겠습니다

+0

단지 팁에 "폴링"을 추가하여이 같은 문제를 해결. 대답이 만족스럽고 문제가 해결되면 좋아하는 답변에 투표하고 최선의 답변을 수락해야합니다. (돕는 사람들이 계속 도움이되도록 동기를 부여하려면 ;-)) 자세한 정보 : http://stackoverflow.com/tour – alandarev

답변

1

그것은 매우 가능성이 두 가지 중 하나를

  1. D rupal 서버가 잘못된 URI에 액세스하고 있습니다.
  2. Node.js 서버가 예상 URI를 수신하지 않습니다.

물론 분명하지 않은 부분은 오류를 유발할 수 있지만 진행하기 전에 두 부분을 확인하십시오.

드루팔 (Drupal) 서버 프린트에서 액세스하려고하는 URI를 오류 로그에 기록하고 브라우저 또는 다른 툴에서 액세스 할 수 있는지 직접 확인하는 것이 가장 좋습니다.

+0

브라우저에서 nodejs에 액세스하는 방법을 알려주실 수 있습니까? – Sumit

+0

숙제하기 전에는 Node.js가 프로세스로 실행되어야하는 서버입니다. 이 주소에 액세스하는 것은 주소 표시 줄에 URL을 입력하여 다른 http (s) 서버에 액세스하는 것과 비슷합니다. Drupal을 연결하기 전에 node.js 서버에 수동으로 연결을 시도합니다. Node.js에 대해 알아 보려면 http://stackoverflow.com/questions/2353818/how-do-i-get-started-with-node-js – alandarev

+0

도움을 주셔서 감사합니다. 새 포트를 확인했습니다. ("Hello World"); response.writeHead (200, { "Content-Type": "text/plain"});이 코드를 사용하는 번호 http.createServer (함수 (요청, 응답) { .end(); }). listen (49160); 노드 명령을 취소 할 때까지 응답이 브라우저에 표시됩니다. 명령을 취소 한 후 응답은 더 이상 존재하지 않으며 서버는 node.js.에 대한 해당 포트에서도 응답하지 않습니다. – Sumit

1

도와 주셔서 감사합니다 "alandrev". 같은 날에 그 문제를 해결했지만 내 실수를 추가하는 것을 잊어 버렸습니다. 사실 nodejs를 제대로 구성하지 못했습니다. nodejs의 백엔드 설정에서 잘못된 포트 번호를 사용하고있었습니다. .config.js] 파일을 올바른 설정은 아래에 언급 :

backendSettings = { 
    "scheme":"https", 
    "host":"yourhostname", 
    "port":"port number which is not already in use", 
    'sslKeyPath': 'key file path for ssl enabled site otherwise leave empty', 
    'sslCertPath': 'certificate path for ssl enabled site otherwise leave empty', 
    'sslCAPath': '', 
    "resource":"/socket.io", 
    "baseAuthPath": '/nodejs/', 
    "publishUrl":"publish", 
    "serviceKey":"", 
    "backend":{ 
    "port":443, 
    "scheme": 'https or http', 
    "host":"yourhostname", 
    "messagePath":"/nodejs/message/"}, 
    "clientsCanWriteToChannels":false, 
    "clientsCanWriteToClients":false, 
    "extensions":"", 
    "debug":false, 
    "addUserToChannelUrl": 'user/channel/add/:channel/:uid', 
    "publishMessageToContentChannelUrl": 'content/token/message', 
    "jsMinification":true, 
    "jsEtag":true, 
    "logLevel":1}; 
+0

읽을 수 있도록 코드 서식을 사용하십시오. –

0

는 전송

backendSettings = { 
    "scheme":"http", 
    "host":"localhost", 
    "port":8081, 
    "key":"/path/to/key/file", 
    "cert":"/path/to/cert/file", 
    "resource":"/socket.io", 
    "publishUrl":"publish", 
    "serviceKey":"SERVICE KEY", 
    "backend":{ 
    "port":80, 
    "host":"localhost", 
    "messagePath":"/mysite/nodejs/message/"}, 
    "clientsCanWriteToChannels":true, 
    "clientsCanWriteToClients":true, 
    "extensions":"", 
    "debug":true, 
    "transports":["websocket","polling", 
     "flashsocket", 
     "htmlfile", 
     "xhr-polling", 
     "jsonp-polling"], 
    "jsMinification":true, 
    "jsEtag":true, 
    "logLevel":1}; 
관련 문제