리눅스 환경 세팅 - 7. CentOS 에 Tomcat 설치하기 (https://noobnim.tistory.com/24) 에 이어서 진행합니다.

 

출처 ) https://suwoni-codelab.com/linux/2017/05/31/Linux-CentOS-Node-Mongo/

 

10. 리눅스(CentOS) 개발 놀이터 만들기 - Node.js 그리고 Mongodb 설치

리눅스 CentOS에 Node.js 그리고 MongoDB를 설치해봅니다.

suwoni-codelab.com

 

1. node.js 설치하기

$ curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash --

node.js를 설치하기 위의 명령을 실행합니다.

 

위와 같이 보인다면 nodejs 의 설치가 준비 됐습니다.

 

$ yum -y install nodejs

위의 명령으로 본격적으로 nodejs를 설치합니다.

Complete! 의 메세지와 함께 설치가 완료 됩니다.

 

$ node --version
$ npm --version

위의 명령으로 버전정보가 확인된다면 설치가 정상적으로 된것입니다.

 

 

 

2. mongoDB 설치하기

저는 위의 출처를 따라서 조금더 상위 버전인 Community Edition 3.6버전을 설치하겠습니다.

 

$ vi /etc/yum.repos.d/mongodb-org-3.6.repo

우선 위의 명령으로 파일을 생성합니다.

 

[mongodb-org-3.6] 
name=MongoDB Repository 
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/  
gpgcheck=1 
enabled=1 
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

파일에 위와 같이 작성을 하고 저장을 하도록 합니다.

이제 설치가 준비되었습니다.

 

$ yum -y install mongodb-org

위의 명령으로 mongodb를 설치하도록 합니다.

Complete ! 메세지와 함께 설치가 완료됩니다.

 

$ systemctl enable mongod 
$ systemctl start mongod

서비스에 등록을 하고 재시작을 하도록 합니다.

 

 

 

3. mongoDB User 생성 및 보안설정

$ mongo

위의 명령으로 mongodb 를 실행합니다.

 

> use admin

admin 상태로 들어옵니다.

 

> db.createUser({             
    user: “유저아이디" ,             
    pwd: “패스워드",             
    roles: [ "userAdminAnyDatabase","readWriteAnyDatabase” ] 
})

위의 형식으로 유저를 생성합니다.

올바르게 작성했다면 Successfully added user 메세지가 뜨게 됩니다.

 

> exit

mongodb를 종료합니다.

 

$ vi /etc/mongod.conf 

mongodb의 설정파일을 열도록 합니다.

중간쯤 port: 27017 로 기본 포트가 지정되어 있습니다. 변경하실 분들은 원하는 포트로 변경하시면 됩니다.

 

bindIp 부분은 접속할 곳의 IP를 입력하면 되나, 모든곳에서 허용을 원하면 0.0.0.0 으로 ip를 변경합니다.

 

#security 부분은 인증 받은 유저만 접속하게 하기 위하는 부분입니다.

security:
 authorization: enabled

위와 같이 입력하도록 합니다. authorization 앞부분을 tab키로 띄우면 에러가 난다고 합니다. 꼭 space바로 띄어쓰기 하도록 합니다.

 

저장하고 나오도록 합니다.

 

$ firewall-cmd --permanent --add-port=변경한포트/tcp
$ firewall-cmd --reload

위 명령으로 port를 방화벽 해제 해준뒤 재실행 합니다.

 

$ semanage port -a -t mongod_port_t -p tcp 변경한포트

Selinux의 mongdb포트 설정을 변경합니다.

 

$ systemctl restart mongod

mongodb를 재시작 합니다.

 

 

 

 

4. mongoDB Client 설치하기

제가 client로 접속할 환경은 windows10 입니다.

mongodb의 client 도구인 compass를 설치하도록 하겠습니다.

 

Compass 다운로드 링크

https://www.mongodb.com/download-center/compass

 

Download Center: Compass

MongoDB Compass, the GUI for MongoDB, is the easiest way to explore and manipulate your data. Download and use for free for development environments.

www.mongodb.com

위의 링크로 들어가도록 합니다.

 

 

본인의 OS에 맞게 선택하여 Download를 클릭합니다.

 

 

사용설명 안내와 함께 설치없이 바로 실행됩니다.

 

 

mongodb를 설치한 host, port, username, password 를 입력 후

연결을 시도하면 연결이 가능합니다.

 

 

위의 화면이 보인다면 정상적으로 접속이 된 상태입니다.

 

이상으로 마치도록 하겠습니다.

출처) http://sblog.netraweb.com/node-js-%EA%B0%95%EC%A2%8C-node-js-%EB%9E%80-%EA%B0%9C%EB%85%90%EA%B3%BC-%EC%86%8C%EA%B0%9C/

 

 

모든 내용은 위의 출처이며 node.js와 연결된 자세한 내용은 출처의 링크를 통하여 확인 할 수 있습니다.

 

 

■ node.js 란?

Node.js는 확장성 있는 네트워크 어플리케이션 개발에 사용되는 소프트웨어 플랫폼입니다. 특시 서버사이드에서 많이 사용되곤 합니다. 사용되는 언어로는 자바스크립트(Javascript)를 활용하며, Non-blocking I/O 와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있는 특징을 가지고 있습니다.

 

내장 HTTP 서버 라이브러리르 포함하고 있어 웹 서버에서 아파치 등의 별도 소프트웨어 없이 동작하는 것이 가능하며, 이를 통한 웹 서버의 동작에 있어 더 많은 통제에서 벗어나 여러가지 기능을 가능하게 합니다.

 

즉 Node.js 를 통해 웹어플리케이션이 더욱 발전하게 되었으며, 정적인 홈페이지 뿐만 아니라 쇼핑몰, 티켓 예메사이트, 블로그 등 data가 변하는 사이트를 만들 수 있으며, 여러 개발자들이 만든 프로그램과 게임을 웹상에서 구동시켜 안드로이드폰, 아이폰, 윈도우PC, 맥 등 플랫폼의 제약에 벗어나 어디든 상관없이 실행이 가능하게 해줍니다.

 

물론 단순히 웹에서 실행가능한 게임을 만들려면 javascript 만으로도 가능하지만 좀더 진화된 프로그램으로 실시간 온라인 채팅, 실시간 온라인 게임 등 실시간 기능을 넣거나, 로그인 기능을 넣어 유저를 관리하고 점수를 관리하는 데이터베이스 기능을 Node.js 를 통해 만들 수가 있습니다.

 

■ node.js 사용이유

Node.js 를 이해하려면 먼저 javascript를 배우셔야 합니다. 그 이유는 node.js는 javascript 기반으로 개조하여 만들어졌기 때문입니다.

 

Javscript는 C/C++, Java와 같은 프로그래밍 언어입니다. 하지만 이름에서 알 수 있듯이 Javascript는 독립적인 언어가 아니라 스크립트 언어입니다. 스크립트 언어는 특정한 프로그램 안에서 동작하는 프로그램이기 때문에 웹브라우저 프로그램 안에서만 작동을 하게 됩니다. 즉 웹브라우저(크롬, 파이어폭스, 사파리, 익스플로러 등등) 가 없으면 사용할 수 없는 프로그램이죠.

 

여기서 Node.js 가 나오는 이유가 됩니다. 즉 javascript를 웹 브라우저에서 독립시킨 것으로 Node.js를 설치하게 되면 터미널프로그램(윈도우의 cmd, 맥의 terminal 등)에서 node를 입력하여 브라우져 없이 바로 실행할 수 있습니다. 하지만 javascript에서 분리된 언어이기 때문에 문범은 같습니다. 이렇게 .node.js를 이용하여 웹브라우져와 무관한 프로그램을 만들 수 있게 되었고, 중요한 것은 node.js를 이용하여 서버를 만들 수 있다는 것입니다. 중요한 이유는 이전까지 server-clint 웹사이트를 만들 때 웹에서 표시되는 부분은 javascript를 사용하여 만들어야만 했으며, 서버는 ruby, java 등 다른 언어를 써서 만들어야 했는데, 마침내 한가지 언어로 전체 웹페이지를 만들 수 있게 된 것입니다.

'IT 용어 정리' 카테고리의 다른 글

MyBatis 란?  (0) 2019.09.26
NoSQL 이란?  (0) 2019.09.17
spring MVC 와 DispatcherServlet 의 정의  (0) 2019.09.14
front end와 back end의 정의  (0) 2019.09.13
AJP 란?  (0) 2019.09.13

+ Recent posts