라즈베리파이 웹서버 연동 관련해서 질문드립니다 !
안녕하세용. 컴공 3학년 재학생입니다. 이런데 글올리는거 처음이라 머쓱하네요.
관련 지식이 부족해 이상하다고 생각하실지 모르겠지만 최대한 아는선에서 질문드려봅니다.
윈도우환경에서 원격으로 접속한 라즈베리파이와 연동된 웹 서버를 만들어 실시간으로 데이터를 주고받으려고 합니다!
1. 관련해서 알아보니까 nodejs 를 이용해서 웹서버를 만들수도 있고, APM 을 설치해서 웹서버를 만들수도 있다고 합니다.
그 둘의 차이가 뭐인가요 ? (둘중 어떤것을 이용하더라도 데이터베이스도 사용할 예정입니다! )
2. nodejs랑 APM 자체가 비교가 가능한 거긴한가요...?
3. 만약 서버자체를 둘다 만들 수 있는거라고 한다면, 데이터베이스 접근시에 nodejs는 mysql 모듈을 다운받아서, APM을 이용할 때는 php 를 이용하는게 맞나요?
4. 제가 플라스크를 이용해 웹서버를 구축해본적은 있는데 굳이 플라스크서버를 이용하는것보다 위에 두 방법이 좋은건가요?
좋은하루되세여!
먼저 웹서버란 무엇인가에 관해 설명을 드려야할 것 같습니다.
네트워크 통신 사이에서 데이터를 제공하는 쪽을 서버라고 하고
데이터를 요청하는 쪽을 클라이언트라고 합니다.
이 때 데이터를 주고 받기위해서는 어떤 정해진 규격으로 통신을 해야하는데요
HTTP(Hyper Text Transfer Protocol)라는 규격으로 통신하는 서버를 웹서버라고 합니다.
즉, HTTP 규격에 맞춰 통신하도록 만들어진 서버들은 모두 웹서버라고 할 수 있습니다.
그럼 질문하신 내용에 대해 다음과 같이 답변드릴 수 있겠습니다.
node.js는 고성능의 자바스크립트 엔진을 이용하여 서버 프로그램을 만들 수 있는 플랫폼인데요
이 node.js에는 HTTP 통신을 할 수 있는 라이브러리도 포함되어 있기 때문에
node.js를 이용하여 웹서버를 만들 수도 있다고 보시면 되겠습니다.
그에 반해 APM(Apache + PHP + MySQL)은 Apache라는 웹서버 프로그램에
PHP 라이브러리를 붙이고 PHP를 MySQL 데이터베이스와 연동하여 웹서비스를 개발하는 환경을 말합니다.
즉, Apache 자체가 이미 웹서비이지만 PHP의 강력한 기능들(DB 연동이라든가)을 사용하기 위해 PHP 라이브러리를 붙입니다.
즉, 앞서 node.js는 자바스크립트 언어로 개발하고 APM은 PHP 언어로 개발하게 됩니다.
마찬가지로 만약 node.js에서 MySQL 데이터베이스와 연동하고자 한다면 mysql 연동 모듈을 node.js에 설치하시면 됩니다.
사용하셨던 플라스크와 비슷한 건 위 두가지 중에서는 node.js로 만든 웹서버 환경 쪽일 것 같습니다.
단지 플라스크는 파이썬을 기반으로 개발하는데 비해 node.js는 자바스크립트를 기반으로하며 개발하며 웹서버 이외의 것들도 구현 가능하다는 차이가 있겠습니다.