node js를 localhost가 아닌 웹상에 직접 올리는 방법(PC이용)

 node js로 작업을 하다보면 항상 localhost:[포트번호] 로 진행하는 경우가 대다수이다. 물론 혼자서 작업을 한다면 상관이 없지만 협업을 하는 상황이면 Front-End와 Back-End 사이의 테스트를 진행해야 한다. AWS를 이용한 테스트는 복잡하고 시간이 걸리기 때문에 최종작업에서 시행하는게 낳다고 생각한다.

 따라서 이번 글은 본인의 PC를 서버로 만들어 테스트 할수 있는 환경을 작성하도록 하겠다.


const express = require('express');


// middleware
const app = express();
const PORT = 5000;


// 서버 체크
app.get('/', (req,res) => {
console.log("GET Request from Client");
res.send('<h1>Server is Working</h1>')
})


app.listen(PORT, () => {
console.log(`Server is starting ${PORT}`);
});


위는 매우 간단한 node js를 이용한 localhost서버를 만든 것이다. 




포트는 5000번이며 GET요청을 할시 Client쪽에서는 'Server is Working'의 글자가 보이게 된다.




이제 현재 localhost:5000의 IP를 전세계 어디서나 접속할수 있는 웹으로 만들자. 먼저 Global로 localtunnel을 설치한다.

- terminal: npm i -g localtunel



localhost에서만 구동되는 5000포트를 전세계 web상으로 올린다.  'your url is : ' 이후에 나오는 웹 주소는 실제 전세계 어디서나 접속할수 있는 주소 이다.

- terminal: lt --port 5000




처음 url주소를 치면 위 사진과 같은 화면이 나온다. 위 화면은 서버가 켜지기 시작한 순간과 7일마다 한번씩 뜬다. 내용을 확인하고 'Click to Continue'를 누르면 웹서버에 접속할수 있다.



localtunnel이 설정한 사이트로 들어가니 localhost:5000으로 접속하지 않아도 정상적으로 나오게 됬다. 








댓글

이 블로그의 인기 게시물

Lesson 12_1 프로퍼티 노드(Property Node)

DAQ로 전압 측정하기-2

Lesson 12_2 참조를 이용한 프로퍼티노드(Property Node)