Ubuntu 20.04에 MongoDB를 설치하는 방법

소개

MongoDB  는 많은 최신 웹 애플리케이션에서 사용되는 문서 데이터베이스입니다.  기존의 테이블 기반 관계형 데이터베이스 구조에 의존하지 않기 때문에 NoSQL 데이터베이스 로 분류됩니다  .

대신 동적 스키마가 있는 JSON과 유사한 문서를 사용합니다. 즉, 관계형 데이터베이스와 달리 MongoDB는 데이터베이스에 데이터를 추가하기 전에 미리 정의된 스키마가 필요하지 않습니다. 업데이트된 스키마로 새 데이터베이스를 설정하지 않고도 필요할 때마다 언제든지 스키마를 변경할 수 있습니다.

이 자습서에서는 Ubuntu 20.04 서버에 MongoDB를 설치하고 테스트하고 서비스로 관리하는 방법을 알아봅니다  systemd .

전제 조건

이 자습서를 따르려면 다음이 필요합니다.

1단계 - MongoDB 설치

Ubuntu의 공식 패키지 저장소에는 안정적인 버전의 MongoDB가 포함되어 있습니다. 그러나이 글을 쓰는 시점에서 기본 Ubuntu 리포지토리에서 사용할 수 있는 MongoDB 버전은 3.6이며 최신 안정 릴리스는 4.4입니다.

이 소프트웨어의 최신 버전을 얻으려면 MongoDB의 전용 패키지 리포지토리를 APT 소스에 포함해야 합니다. mongodb-org그런 다음 항상 최신 버전의 MongoDB를 가리키는 메타 패키지인 를 설치할 수 있습니다  .

시작하려면 다음 명령을 실행하여 안정적인 최신 버전의 MongoDB에 대한 공개 GPG 키를 가져옵니다. 4.4 4.4 이외의 MongoDB 버전을 사용하려는 경우 설치하려는 버전에 맞게 이 명령의 URL 부분을 변경해야 합니다  .

curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - 

cURL은 데이터 전송에 사용되는 많은 운영 체제에서 사용할 수 있는 명령줄 도구입니다. 전달된 URL에 저장된 모든 데이터를 읽고 내용을 시스템 출력에 인쇄합니다. 다음 예에서 cURL은 GPG 키 파일의 내용을 인쇄한 다음 이를 다음  sudo apt-key add - 명령으로 파이프하여 신뢰할 수 있는 키 목록에 GPG 키를 추가합니다.

또한 이  curl 명령은 기본적으로 cURL에 자동으로 실패하도록 지시하는 옵션을  -fsSL 함께 사용합니다. 즉, 어떤 이유로 cURL이 GPG 서버에 연결할 수 없거나 GPG 서버가 다운된 경우 실수로 결과 오류 코드를 신뢰할 수 있는 키 목록에 추가하지 않습니다.

OK 키가 성공적으로 추가된 경우 이 명령이 반환됩니다  .

산출

좋아요

키가 올바르게 추가되었는지 다시 확인하려면 다음 명령을 사용하면 됩니다.

apt-key list 

이렇게 하면 출력 어딘가에 MongoDB 키가 반환됩니다.

mongodb-org 이 시점에서 APT 설치는 최신 버전의 MongoDB를 설치하는 데 필요한 패키지를 찾을 위치를 여전히 알지 못합니다  .

APT가 다운로드하고 설치할 패키지의 온라인 소스를 찾는 서버에는 파일  sources.list 과  sources.list.d 디렉터리 두 곳이 있습니다. sources.list APT 데이터의 활성 소스를 나열하는 파일로, 한 줄에 하나의 소스가 있고 가장 선호하는 소스가 먼저 나열됩니다. 디렉토리  sources.list.d 를 사용하면 이러한 항목을 별도의 파일로 추가할 수 있습니다  sources.list .

다음 명령을 실행하여  sources.list.d 이라는 디렉터리  에 파일을 만듭니다 mongodb-org-4.4.list. 이 파일의 유일한 내용은 다음과 같은 한 줄입니다  deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse.

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list 

이 한 줄은 APT에게 소스가 무엇이고 어디에서 찾을 수 있는지에 대해 알아야 할 모든 것을 알려줍니다.

  • deb: 이는 소스 항목이 일반 데비안 아키텍처를 참조함을 의미합니다. 다른 경우에는 라인의 이 부분이 로 표시될 수 있습니다  deb-src. 이는 소스 항목이 데비안 배포판의 소스 코드를 나타냄을 의미합니다.
  • [ arch=amd64,arm64 ]: APT 데이터를 다운로드해야 하는 아키텍처를 지정합니다. 이 경우  amd64 및  arm64 아키텍처를 지정합니다.
  • https://repo.mongodb.org/apt/ubuntu: APT 데이터를 찾을 수 있는 위치를 나타내는 URI입니다. 이 경우 URI는 공식 MongoDB 리포지토리가 있는 HTTPS 주소를 가리킵니다.
  • focal/mongodb-org/4.4: Ubuntu 리포지토리에는 여러 릴리스가 포함될 수 있습니다.  이는 Ubuntu 릴리스 에 사용할 수 있는 패키지  4.4 버전  만 원한다는 것을 지정합니다   ("Focal Fossa"는 Ubuntu 20.04의 코드 이름임).mongodb-orgfocal
  • multiverse: 이 부분은 APT가 4개의 주요 Ubuntu 리포지토리 중 하나를 가리킵니다. 이 경우  multiverse 저장소를 가리키고 있습니다 .

이 명령을 실행한 후 APT가 패키지를 찾을 위치를 알 수 있도록 서버의 로컬 패키지 인덱스를 업데이트합니다  mongodb-org .

sudo apt update 
그런 다음 MongoDB를 설치할 수 있습니다.sudo apt install mongodb-org 

메시지가 표시되면 을 누른  Y 다음  ENTER 패키지 설치를 확인합니다.

명령이 완료되면 시스템에 MongoDB가 설치됩니다. 그러나 아직 사용할 준비가 되지 않았습니다. 다음으로 MongoDB를 시작하고 제대로 작동하는지 확인합니다.

2단계 - MongoDB 서비스 시작 및 데이터베이스 테스트

이전 단계에서 설명한 설치 프로세스는 에서 제어하는 ​​데몬으로 실행되도록 MongoDB를 자동으로 구성합니다  systemd. 즉, 다양한  systemctl 명령을 사용하여 MongoDB를 관리할 수 있습니다. 그러나 이 설치 절차는 서비스를 자동으로 시작하지 않습니다.

다음  systemctl 명령을 실행하여 MongoDB 서비스를 시작합니다.

sudo systemctl start mongod.service 

그런 다음 서비스 상태를 확인합니다. .service 이 명령은 서비스 파일 정의에  포함되지 않습니다  . systemctl 이 접미사가 아직 존재하지 않는 경우 자동으로 전달하는 인수에 이 접미사를 추가하므로 포함할 필요가 없습니다.

sudo systemctl status mongod 

이 명령은 서비스가 실행 중임을 나타내는 다음과 같은 출력을 반환합니다.

Output

● mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2020-06-09 12:57:06 UTC; 2s ago Docs: https://docs.mongodb.org/manual Main PID: 37128 (mongod) Memory: 64.8M CGroup: /system.slice/mongod.service └─37128 /usr/bin/mongod --config /etc/mongod.conf

서비스가 예상대로 실행되고 있는지 확인한 후 MongoDB 서비스가 부팅 시 시작되도록 활성화합니다.

sudo systemctl enable mongod 

데이터베이스 서버에 연결하고 진단 명령을 실행하여 데이터베이스가 작동하는지 추가로 확인할 수 있습니다. 다음 명령은 데이터베이스에 연결하고 현재 버전, 서버 주소 및 포트를 출력합니다. 또한 MongoDB 내부  connectionStatus 명령의 결과도 반환합니다.

mongo --eval 'db.runCommand({ connectionStatus: 1 })' 

connectionStatus 데이터베이스 연결 상태를 확인하고 반환합니다.  응답의 필드 1 에 대한  값은  서버가 예상대로 작동하고 있음을 나타냅니다.ok

Output

MongoDB shell version v4.4.0 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("1dc7d67a-0af5-4394-b9c4-8a6db3ff7e64") } MongoDB server version: 4.4.0 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }

또한 데이터베이스는  localhost 를 나타내는 로컬 루프백 주소  27017 인  포트에서 실행 중입니다 . 이것은 MongoDB의 기본 포트 번호입니다.127.0.0.1

다음으로 MongoDB 서버 인스턴스를  systemd.

3단계 - MongoDB 서비스 관리

앞서 언급했듯이 1단계에서 설명한 설치 프로세스는  systemd 서비스로 실행되도록 MongoDB를 구성합니다. 즉,  systemctl 다른 Ubuntu 시스템 서비스와 마찬가지로 표준 명령을 사용하여 관리할 수 있습니다.

이전에 언급한 대로 이  systemctl status 명령은 MongoDB 서비스의 상태를 확인합니다.

sudo systemctl status mongod

다음을 입력하여 언제든지 서비스를 중지할 수 있습니다. sudo systemctl stop mongod 
중지된 서비스를 시작하려면 다음을 실행합니다. sudo systemctl start mongod 
이미 실행 중인 서버를 다시 시작할 수도 있습니다. sudo systemctl restart mongod 
2단계에서 MongoDB가 서버와 함께 자동으로 시작되도록 설정했습니다. 이 자동 시작을 비활성화하려면 다음을 입력합니다. sudo systemctl disable mongod 
그런 다음 부팅 시 시작되도록 다시 활성화하려면 enable 명령을 다시 실행합니다.sudo systemctl enable mongod 

서비스 관리 방법에 대한 자세한 내용은  Systemd Essentials: Working with Services, Units, and the Journal을systemd  확인하십시오  .

결론

이 자습서에서는 공식 MongoDB 리포지토리를 APT 인스턴스에 추가하고 최신 버전의 MongoDB를 설치했습니다. 그런 다음 Mongo의 기능을 테스트하고 몇 가지  systemctl 명령을 연습했습니다.

즉각적인 다음 단계로  Ubuntu 20.04에서 MongoDB를 보호하는 방법  가이드에 따라 MongoDB 설치의 보안을 강화하는 것이  좋습니다 . 보안이 설정되면  원격 연결을 허용하도록 MongoDB를 구성 할 수 있습니다 .

이 DigitalOcean 커뮤니티 기사 에서 MongoDB를 구성하고 사용하는 방법에 대한 더 많은 자습서를 찾을 수 있습니다  . 또한 MongoDB가 제공하는 가능성에 대한 훌륭한 리소스인 공식 MongoDB 문서를 확인하는 것이 좋습니다  .

refer_link:  Ubuntu 20.04에 MongoDB를 설치하는 방법

Je suppose que tu aimes

Origine blog.csdn.net/weixin_41216652/article/details/128217978
conseillé
Classement