- 윈도우에 서버 구축 -
1. Node.js 설치
안정적인 v6.9.4버전을 설치했다.
그냥 next 누르면서 설치하면됨.
2. IP 주소 확인
IP 주소는 cmd창에서 확인할 수도 있고 IP주소를 확인해주는 웹사이트를 이용해 확인할 수 있다.
cmd를 검색하여 실행한다.
빨간 박스 부분이 현재 IP주소이다.
하지만 공유기를 이용중일 경우 cmd창에서 출력해주는 ip주소는 공유기 내부 ip주소가 되기 때문에 외부에서 접속할 수 있는 ip주소가 아니다.
확실히 외부 ip주소를 찾기 위해서는 웹사이트를 이용하는 것이 좋다.
웹페이지에서 확인하기 위해서는 간단하게 네이버 검색창에 [ip주소]를 검색하면 알려준다.
빨간 네모박스 부분에 ip주소가 표시된다.
3. 서버 구축
아파치, Nodejs등 다양한 방법이 있지만 Nodejs가 더 간편해보여 Nodejs의 Express 서버를 구축함.
개발 툴로는 JetBrain의 Webstorm을 사용하였는데 이는 유료 소프트웨어이다.
Visual Studio와 Eclipse, Bracket(웹개발) 등등 무료 툴을 사용해도 무관하다.
webstorm을 실행하고 새 프로젝트를 생성한다.
바로 express 프로젝트를 생성할 수 도 있지만 잡다한 것이 많아 간단하게 빈 프로젝트를 생성했다.
버전 관리를 위해 package.json 파일을 생성하는 것이 좋다.
터미널 창을 Webstorm에서 열기
콘솔창을 켜서 npm init 명령어를 실행하면 package.json 파일을 생성해 준다.
프로젝트 이름 등등 정보를 입력한다.
이후 모듈을 설치할 때 npm install 모듈이름 --save 로 설치하면 자동으로 package.json 파일을 업데이트해준다.
다음과 같이 package.json 파일이 생성된 것을 볼 수 있다.
다음으로 npm install express --save 명령어를 입력한다.
express 모듈이 설치되며 왼쪽 패키지 목록에 npm_modules 디렉토리가 생성되었다.
--save 옵션을 사용하였기 때문에 package.json 파일에 express 버젼이 등록되었다.
다음으로 자바스크립트 파일을 하나 생성한다.
파일 이름은 index.js
다음의 코드 입력
var express = require("express");
var app = express();
var port = 3000;
app.get('/', function (req,res) {
console.log('app.get "/" ');
res.send("Smart Lamp Server");
});
app.listen(port, function () {
console.log('Smart Lamp Server app listening on port 3000!');
});
입력후 파일 실행
다음과같이 콘솔창에 Smart Lamp Server app listening on port 3000 메시지가 출력된다.
실행 후 인터넷 주소창에 localhost:3000을 입력하거나
ip주소:3000을 입력하면 다음과 같이 서버에 접속할 수 있다.
외부 IP를 통해 접속하면 스마트폰 등 다른 네트워크에서도 접속 가능하다.
- 라즈베리파이에 서버 구축 -
1. Nodejs 설치
1. 환경구성 참고
2. Express 설치
2.깃허브에서 만든 깃허브 저장소인 SmartLamp_pi2로 이동하여 진행한다.
$ sudo npm init
$ sudo npm install express --save
3. 서버 구현
다음과 같이 index.js파일에 코드를 작성한다.
$ sudo vi index.js
var express = require('express');
var app = express();
var port = 5000;
app.get('/', function (req, res) {
console.log("Get request");
res.send('Hello World!');
})
app.listen(port, function () {
console.log('Raspberry pi server is listening on port' + port);
})
아래 명령어로 서버를 실행한다.
$ sudo node index.js
'프로젝트 > Smart Lamp - 라즈베리파이' 카테고리의 다른 글
5. PC 서버와 라즈베리파이 통신 (0) | 2017.01.05 |
---|---|
4. IFTTT와 서버 연동 (0) | 2017.01.05 |
2. 깃허브 (0) | 2017.01.05 |
1. 환경 구성 (0) | 2017.01.05 |
0. 프로젝트 개요 (0) | 2017.01.05 |