2013-03-23 4 views
1

여기 Node.js를 작동 방식에 대한 나의 현재의 이론 :node.js 구현의 기본 개념은 무엇입니까?

  1. 는 자바 스크립트 파일을 해석 할 수 있도록 내 서버에 Node.js를 설치합니다.
  2. 그런 다음 자바 스크립트 파일을 작성하고 내 서버에 배치합니다 (PHP 파일과 마찬가지로).
  3. 그런 다음 클라이언트 측 자바 스크립트를 통해 이러한 파일과 상호 작용합니다. 내 서버에 설치하는 방법을 가르쳐 것입니다 지난 시간 정도의 튜토리얼을 찾고했기 때문에

은 분명히 내가 뭔가 잘못있어 -하지만 그들은 모두 설치에 초점을 맞춘 것 같다 그것은 국부적으로.

누군가 최종 구현 방법에 대한 점을 요약해도 될까요?

답변

2

installer 또는 package manager을 통해 admin/root 액세스를 사용하는 다른 시스템과 마찬가지로 "서버"에 설치합니다.

이제 "서버"라고 가정합니다. 컴퓨터를 말합니다. 대신 Apache 또는 IIS와 같은 기존 "서버 응용 프로그램"을 의미하는 경우 Node.js는 이러한 응용 프로그램과 직접 통합되지 않습니다. 주로이를 대체하여 스크립트로 전체 서버 응용 프로그램을 다소 낮은 수준에서 정의 할 수 있습니다.

이러한 스크립트는 project's homepage에서 찾을 수 있습니다 : 노드 작성

이 간단한 웹 서버는 모든 요청에 ​​대해 "안녕하세요"로 응답합니다.

var http = require('http'); 
http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(1337, '127.0.0.1'); 
console.log('Server running at http://127.0.0.1:1337/'); 

파일 example.js에 코드를 넣고 명령 줄에서 node 프로그램을 실행하는 서버를 실행하려면 :

% node example.js 
Server running at http://127.0.0.1:1337/ 

이 예 너머, 당신은을 검사 할 것 req.methodreq.url, 일반적으로 router 또는 web framework을 통해 응답하는 방법을 결정하십시오. express 또는 compoundjs으로 시작하는 것이 좋습니다.

트래픽을 전달하면서 다른 서버 응용 프로그램을 Node.js의 HTTP 프록시로 계속 사용할 수 있습니다. 그러나 Node.js는 여전히 개별적으로 실행 중입니다.당신이 IIS를 사용하고 있다면 심지어 이것에 대한 많은 설정을 다루는 iisnode이 있습니다.

+0

도움 주셔서 감사합니다. 질문을 게시 한 이후 SSH에 액세스 할 수 있다고하더라도 (분명히) 공유 호스팅 계정에서 node.js를 사용할 수 없음을 발견했습니다. 이 소리가 맞습니까? 외관상으로는 비록 나는 그것을 설치해달라고하더라도, 나는 특정 항구에 접근하는 것이 허용되지 않을 것입니다. – JoeRocc

+1

@JoeRocc 예. 일반적으로 [명시 적으로 Node.js를 지원하는 (http://stackoverflow.com/a/3744294) 호스트가 필요하거나 "* 전용 *"또는 "* 전용 *"호스팅 계획으로 업그레이드하면 더 많은 제어 권한을 가질 수 있습니다. –

+0

어이없는 답장으로 죄송합니다. 좋아, 내 전체 node.js 서버 (컴퓨터)가 하나의 스크립트에서 실행됩니까? 여러 웹 사이트를 갖고 싶다면 어떻게해야합니까? 사용자가 단일 node.js 스크립트를 통해 항상 내 서버를 사용합니까? 아니면 특정 node.js 파일을 다른 도메인에 연결해도됩니까? – JoeRocc

0

Node.js는 JavaScript 언어로 웹 서버를 구축 할 수있게 해주는 서버 측 JavaScript 엔진입니다. 이것은 Apache의 PHP 및 IIS의 C#과 유사합니다. 한 가지 다른 점은 Node.js는 C# IIS처럼 많은 스레드를 생성하지 않는다는 이벤트 기반이라는 점입니다. 따라서 Node.js는 높은 동시 요청을 처리 할 수 ​​있습니다. Node.js 튜토리얼의 경우 Node.js 웹 사이트를 참조하십시오. http://nodejs.org/api/

다음 클라이언트 측 JavaScript를 통해 이러한 파일과 상호 작용합니다.

Node.js는 웹 서버를 만들기 만하므로 서버와 클라이언트 간의 상호 작용은 HTTP 기반이므로 Node.js 웹 서버가 클라이언트 측의 요청에 응답 함을 의미하므로이 점에 동의하지 않습니다. .

+0

자, 자습서에서이 사실을 알았지 만 서버에서 구현을 시작하는 방법을 모르겠습니다. – JoeRocc

+0

express.js http://expressjs.com/을 사용해 보시길 권해 드리며, Node.js를 타겟팅하는 웹 서버를 만드는 데 도움이됩니다. – Shuping

관련 문제