50% 할인 모든 계획, 제한된 시간. 시작 시간 $2.48/mo
12분 남음
데이터베이스 및 분석

세 가지 최신 Ubuntu 버전에 MongoDB를 설치하는 방법(단계별)

짐 슈워츠 By 짐 슈워츠 12분 읽기
기사에서 기대할 수 있는 내용에 대한 태그라인 + Ubuntu에 MongoDB를 설치하기 위해 미래형 서버에 표시되는 MongoDB의 원래 기호 + 기사 제목 + Cloudzy 브랜드 로고

그래서 당신은 MongoDB를 사용하기로 결정했습니다. alternative to MariaDB MERN 스택 앱, 분석 플랫폼 또는 문서 기반 시스템을 구축하는 데 어려움을 겪었지만 오래된 Linux 명령줄과 수많은 터미널 오류로 인해 벽에 부딪혔습니다. 

하지만 이 가이드는 Ubuntu에 MongoDB를 설치하기 위해 A부터 Z까지 알아야 할 모든 것을 제공하므로 걱정하지 마세요.

몽고DB는 X.Y.Z 버전 관리. 8.0주요한 릴리스 시리즈 및 8.2미성년자 8.0 주기 내에 출시됩니다. 마이너 릴리스는 동일한 주요 주기 내에 기능을 추가하며 8.0부터 특정 사용 사례(예: 검색 및 벡터 검색)에 대한 온프레미스 설치에도 제공됩니다. Ubuntu의 MongoDB 8.0은 다음을 지원합니다. 24.04(노블), 22.04(제이미), 20.04(포컬) 64비트 시스템에서, 일부 플랫폼에서 ARM64를 지원합니다.

GnuPG 및 Curl 전제 조건

정식 설치하기 전에 mongodb-org 패키지를 사용하려면 Ubuntu에는 두 가지 전제 조건이 필요합니다. GnuPG 그리고 . 이 도구는 Ubuntu에게 MongoDB를 다운로드할 수 있는 권한을 부여합니다. 몽고디비 패키지는 MongoDB Inc.에서 유지관리하지 않으며 공식 패키지와 충돌합니다. mongodb-org 패키지. 이미 설치한 경우 몽고디비 꼭 제거하세요.

다음으로 명령을 실행하십시오. sudo apt-get 설치 gnupg 컬. Curl은 인터넷에서 파일을 다운로드하는 도구이며 MongoDB의 보안 키를 검색하는 데 필요합니다. GnuPG는 Ubuntu가 소프트웨어 신뢰성을 확인하는 데 사용하는 것입니다. GnuPG가 없으면 Ubuntu는 MongoDB 패키지를 확인하지 못합니다.

터미널에 GnuPG 및 Curl이 성공적으로 설치되었는지 확인하세요. 그렇다면 다음과 같아야 합니다.GnuPG 및 Curl을 추가한 후 Ubuntu 터미널 출력

MongoDB GPG 키 가져오기

Ubuntu의 패키지 관리자인 APT는 GPG 키를 사용하여 설치 전에 패키지를 확인합니다. 이 GPG 키가 없으면 Ubuntu는 MongoDB의 저장소 추가를 허용하지 않습니다. 키를 추가하려면 터미널에 다음 명령을 입력하세요.

curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
   --dearmor

작동하는 경우 터미널 출력은 다음과 같아야 합니다.MongoDB의 GPG 키를 성공적으로 추가한 후의 Ubuntu 터미널.

간단히 말하면 이 명령은 MongoDB의 보안 서명을 다운로드하고 이를 Ubuntu가 읽을 수 있는 형식으로 변환한 후 보안 시스템 폴더에 저장합니다. 다음은 명령줄 섹션을 섹션별로 분석한 것입니다.

  1. 컬 -fsSL URL MongoDB의 공식 키를 다운로드합니다.
  2. – 친애하는 Ubuntu가 이해할 수 있도록 키를 텍스트 형식의 바이너리로 변환합니다.
  3. -o /usr/share/keyrings/mongodb-server-8.0.gpg Ubuntu가 신뢰할 수 있는 키를 저장하는 폴더에 바이너리 파일을 저장합니다.

모든 명령줄을 완벽하게 일치시키면 공개 GPG 키가 문제 없이 추가됩니다. 그러나 일부 사용자는 일치하지 않는 GPG 키로 인해 MongoDB를 다운로드할 때 문제가 발생합니다. 다음과 같은 오류:

NO_PUBKEY
The following signatures couldn't be verified
public key not available

이전에 정확한 GPG 키 명령을 따르지 않고 대신 다음을 사용할 때 발생합니다. sudo apt-키 현대 우분투에서는 권장하지 않기 때문입니다.

MongoDB 저장소 추가

MongoDB의 리포지토리를 추가하면 MongoDB 패키지가 특정 인터넷 주소에 존재한다는 사실을 Ubuntu에 알리는 파일이 생성됩니다. 다음 위치에 목록 파일을 생성하세요. /etc/apt/sources.list.d/mongodb-org-8.0.list 다음을 사용하여 저장소 라인을 작성하여 에코... | 스도 티 …

Ubuntu의 다양한 버전에서는 이 명령의 다른 변형을 요구하기 때문에 이것이 까다로워지는 부분입니다. 이제 앞서 언급한 세 가지 버전의 Ubuntu에서 목록 파일을 가져오는 방법을 살펴보겠습니다.

우분투 24.04(노블)

Ubuntu 24.04에서 목록 파일을 생성하려면 간단히 다음을 입력하십시오. echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu 고귀한/mongodb-org/8.0 다중 우주" | sudo 티 /etc/apt/sources.list.d/mongodb-org-8.0.list 귀하의 터미널에서.

혼란스러워 보일 수도 있지만 걱정하지 마세요. 명령을 여러 섹션으로 나누면 명확해집니다.

  1. 에코 텍스트를 인쇄합니다
  2. /etc/apt/sources.list.d Ubuntu가 소프트웨어 소스 정의를 저장하는 폴더입니다. 다음이 포함된 모든 파일 .목록 폴더 안의 형식은 Ubuntu에서 소프트웨어를 다운로드할 특정 위치를 가리킵니다.
  3. 일반 사용자는 기본적으로 시스템 폴더에 아무것도 쓸 수 없습니다. 사용하는 동안 사용자에게 시스템 파일에 텍스트를 쓸 수 있는 특별한 권한을 부여합니다. sudo
  4. 고귀한 Ubuntu 24.04의 코드 이름입니다. 모든 Ubuntu 버전에는 다음과 같은 코드명이 있습니다.
버전 코드명
20.04 초점
22.04 제미
24.04 고귀한

Ubuntu 버전과 올바른 명령줄이 일치하지 않으면 Ubuntu는 MongoDB 저장소를 인식하지 못합니다.

우분투 22.04(제미)

Ubuntu Jammy에 목록 파일을 추가하는 것은 똑같아 보이지만 교체하는 동안 명령줄을 입력해야 합니다. 고귀한 ~와 함께 잼미, 이와 같이:

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

Ubuntu 버전과 일치하는지 확인하세요. 그렇지 않으면 다시 실패합니다.

우분투 20.04(포컬)

여기에서도 동일한 단계를 따르십시오. 그러나 대신 고귀한 or 잼미, 넣다 초점:

echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu focus/mongodb-org/8.0 multiverse" | sudo 티 /etc/apt/sources.list.d/mongodb-org-8.0.list

이제 저장소가 설정되었으므로 설치를 진행할 수 있습니다. mongodb-org.

패키지 데이터베이스 새로 고침

이제 Ubuntu에서 리포지토리를 인식했으므로 그 안에 패키지 데이터베이스를 다시 로드해야 하므로 이제부터는 MongoDB도 포함됩니다. 아래에 언급된 명령을 실행하십시오.

sudo apt-get update

이 명령은 모든 Ubuntu 버전에서 동일하게 유지되며 건너뛰면 Ubuntu에 MongoDB가 포함되지 않습니다. 명령이 해당 작업을 수행하는 경우 터미널 출력은 다음과 같아야 합니다.sudo apt-get update 실행 후 Ubuntu 터미널 출력

 이제 패키지 데이터베이스를 다시 로드한 후 MongoDB 패키지를 다운로드할 차례입니다.

MongoDB 커뮤니티 서버 설치

설치할 MongoDB 릴리스는 다양하지만 사용자는 안정적인 최신 버전을 선호하는 경향이 있습니다. 최신 안정 버전을 설치하려면 다음을 실행하세요. sudo apt-get 설치 -y mongodb-org

Ubuntu는 이제 MongoDB 패키지를 다운로드하여 설치하고 MongoDB 사용자 계정과 데이터 디렉터리를 생성하고 MongoDB를 시스템 서비스로 등록했습니다. 지금까지 우분투에서 MongoDB를 다운로드하는 방법을 다루었습니다. 이제 시작해 보겠습니다.

몽고DB를 시작하는 방법

이제 MongoDB를 실행하려면 Ubuntu의 서비스 관리자인 "systemd"에게 MongoDB를 백그라운드 서비스로 인식하도록 지시해야 하며, 이를 위해서는 터미널에 다음 명령을 입력해야 합니다.

sudo systemctl start mongod

명령이 작업을 수행하면 Ubuntu는 이제 MongoDB를 백그라운드 응용 프로그램으로 엽니다. 그러나 명령이 작업을 수행하지 않으면 다음과 유사한 오류가 나타날 수 있습니다. mongod.service를 시작하지 못했습니다..

이는 다음과 같은 몇 가지 일반적인 문제로 인해 발생할 수 있습니다.

  • 구성 파일 오류 in /etc/mongod.conf (YAML 들여쓰기 실수가 일반적입니다)
  • 포트 충돌 (포트 27017은 이미 사용 중입니다)
  • 권한 문제 데이터 또는 로그 디렉터리(var/lib/mongodb 또는 var/log/mongodb)
  • 디스크가 가득 참 or 손상된 파일 시스템 상태

문제 진단을 위한 세 가지 명령미래형 서버 설정 + 3개의 우분투 터미널 명령 + 업그레이드 경로 작성이 포함된 클라우드.

MongoDB가 실행되지 않는 구성에 어떤 문제가 있는지 말하기는 쉽지만 정확한 원인을 찾아내는 것은 훨씬 어렵습니다. 오류가 어디서 발생했는지 진단할 수 있는 세 가지 쉬운 방법은 다음과 같습니다.

  1. 서비스 상태 확인: sudo systemctl 상태 mongod –no-pager
  2. 자세한 로그 확인(가장 중요): sudo 저널ctl -u mongod –no-pager -n 100
  3. MongoDB 자체 로그 파일 확인

그러나 디스크가 꽉 찼거나 시스템 파일이 손상된 경우 수정은 소프트웨어보다는 하드웨어에 더 중점을 둡니다. 현재 설정이 오래된 경우 MongoDB를 효율적으로 실행하려면 사용자는 서버 설정을 위해 더 나은 장비를 구입해야 할 수도 있습니다. 

전체 서버를 구입하는 것이 예산에 맞지 않는다면 Cloudzy를 확인해 보세요. 우분투 VPS 원하는 Ubuntu 배포판을 사용하여 개인 서버에서 깔끔한 경험을 얻으세요. 그것은 함께 제공됩니다 24/7 지원하고 최대 40Gbps 네트워크 속도 덕분에 NVMe SSD 그리고 DDR5 램 저장.

게다가 지연 시간도 최소화되어 있습니다. 99.95% 가동 시간 및 14일 환불 보장. 그뿐만 아니라 다음에서도 사용 가능합니다. 12 전 세계 어디든 저렴한 가격으로 만나보세요.

MongoDB를 실행하기 위한 가장 일반적인 세 ​​가지 수정 사항

MongoDB와 관련된 시스템의 정확한 문제를 인식하고 한 가지 쉬운 단계로 문제를 해결할 수 있는 절대적인 방법은 없습니다. 따라서 MongoDB를 실행하기 시작하는 데 사용할 수 있는 몇 가지 일반적인 수정 사항은 다음과 같습니다.

  1. YAML 구성 들여쓰기 오류입니다. 편집했다고 가정하자 /etc/mongod.conf 메시지를 표시하여 들여쓰기를 다시 확인하세요. sudo nano /etc/mongod.conf. YAML 파일은 공백에 매우 민감하므로 레벨당 공백이 두 개만 있는지 확인하세요. /etc/mongod.conf.
  2. 점유된 포트 27017. 다른 포트가 27017을 사용하고 있다면 포트를 종료하거나 MongoDB의 포트를 변경하세요. mongod.conf. 포트 27017에서 실행되는 항목이 확실하지 않은 경우 자유롭게 실행하세요. sudo ss -lntp | grep 27017 그것을 확인하기 위해
  3. 데이터 디렉터리에 권한 문제가 있습니다. 때로는 MongoDB에 시스템 실행 권한이 부족하여 전혀 실행되지 않는 경우도 있습니다. 첫 번째 실행 sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb, 다음으로 MongoDB를 다시 시작하십시오. sudo systemctl 다시 시작 mongod

에 따르면 몽고DB 공식 홈페이지, 이 문제를 해결하는 또 다른 방법은 다음을 사용하여 데몬을 다시 로드하는 것입니다. sudo systemctl 데몬-다시 로드, 첫 번째 명령을 실행합니다. sudo systemctl 몽고드 시작, 다시.

없는 경우 mongod.service, 설치 시 시스템 장치를 배치하지 않았으므로 다시 설치하십시오. mongodb-org 패키지 세트.

말한 모든 내용을 통해 MongoDB가 성공적으로 시작되었는지 확인할 수 있습니다. sudo systemctl 상태 몽고드. 터미널에서 다음과 같이 말하면 활성(실행 중), 가셔도 좋습니다. 그러나 경험을 훨씬 더 원활하게 만들어주는 몇 가지 추가 구성이 여전히 있습니다.

MongoDB를 자동화하세요MongoDB 자동화 기호 + MongoDB 명령이 포함된 터미널 + 로그 파일을 사용한 미래형 서버 설정

MongoDB는 서버를 켤 때마다 자동으로 열리지 않습니다. 매번 언급된 일부 단계를 반복해야 합니다. 선택적으로 데스크탑으로 부팅한 후 Ubuntu에 MongoDB를 시작하도록 지시할 수 있습니다.

간단히 실행 sudo systemctl 활성화 mongod 이제부터는 재부팅할 때마다 MongoDB를 실행하도록 시스템에 지시합니다. 게다가, 당신은 다시 시작할 수 있습니다 몽고 명령을 실행하여 처리 sudo systemctl 다시 시작 mongod. 또한 사용자는 파일의 출력을 검토하여 오류나 중요한 메시지에 대한 프로세스를 따라야 할 수도 있습니다.

/var/log/mongodb/mongod.log

이제 모든 설정이 완료되었으므로 mongod를 사용해 보겠습니다.

MongoDB 쉘 열기

데이터베이스와 상호 작용하려면 사용자는 다음 명령을 실행하여 MongoDB 셸을 열어야 합니다. 몽고쉬. MongoDB 또는 MySQL 콘솔을 위한 전용 명령 프롬프트 터미널이라고 생각하세요. 또는 MongoDB 드라이버와 같은 GUI 도구를 사용하여 MongoDB와 상호 작용할 수 있습니다. 하지만 터미널에서 상호작용하고 싶다면, 몽고쉬 그렇게 되도록 만들어졌습니다.

이제 MongoDB는 완벽하게 작동하지만 보안을 위해 고려해야 할 몇 가지 추가 단계가 있습니다.

MongoDB를 인증하도록 만들기MongoDB 인증 프로세스 + 잠금 기호 + 인증 확인.

MongoDB는 기본적으로 사용자를 생성하려면 이미 액세스 권한이 있어야 하므로 비밀번호 보호 기능이 없습니다. 이를 실현하는 간단한 방법은 다음과 같습니다.

관리 사용자 생성

먼저 다음을 사용하여 관리 데이터베이스로 전환해야 합니다.

use admin

그런 다음 다음을 사용하여 사용자를 만듭니다. db.createUser({…}). 당신의 것으로 채워주세요

  • 사용자 이름
  • 비밀번호
  • 역할

역할의 경우 다음을 입력하는 것이 좋습니다. 뿌리 이는 모든 권한 또는 관리자를 의미합니다.

인증 활성화

이제 사용자 설정이 완료되었으므로 /etc/mongod.conf 파일. 이 파일이 MongoDB의 작동 방식을 제어하기 때문입니다. 하지만 파일을 편집하면 항상 다시 시작해야 한다는 점을 명심하세요. 몽고 나중에 서비스로 sudo systemctl 다시 시작 mongod. 여기서 변경해야 할 것은 다음과 같은 승인이라는 매개변수입니다.

security:

  authorization:

인증 프로세스를 완료하려면 다음과 같이 인증 값을 변경하면 됩니다.

security:

  authorization: enabled

이제부터 MongoDB에서는 로그인이 필요하므로 인증이 완료됩니다. 이제 MongoDB를 완전히 활용하는 또 다른 구성으로 진행해 보겠습니다.

방화벽을 열어보세요

앞서 언급했듯이 MongoDB는 포트 27017에서 실행됩니다. 방화벽은 기본적으로 포트를 차단하므로 방화벽에 애플리케이션이 27017에서 실행되도록 허용해야 합니다. 그렇게 하려면 다음 명령을 실행하면 됩니다.

ufw allow from YOUR_IP to any port 27017

또는 다음 명령을 실행할 수도 있습니다. ufw 허용 27017, 그러나 이를 실행하면 전체 인터넷이 해당 포트에 액세스할 수 있으므로 주의하십시오. 트래픽이 IP 주소에서만 포트에 액세스할 수 있도록 허용하므로 첫 번째 옵션을 선택하는 것이 가장 안전한 방법일 수 있습니다.

사용자는 MongoDB를 실행할 때 원격 액세스 문제와 같은 문제에 계속 직면할 수 있습니다. 주변에 머물면서 문제를 해결하는 방법을 알아보세요.

원격 액세스 문제MongoDB의 원격 액세스 설정 + 터미널 명령을 구성하는 3개의 모니터를 사용한 서버 설정입니다.

MongoDB 출시 바인딩. 바인딩 MongoDB를 다음으로 제한합니다. 127.0.0.1, 로컬 연결만 허용합니다. 따라서 MongoDB는 달리 구성하지 않는 한 기본적으로 현장 연결만 허용하도록 구성되어 있으므로 다른 곳에서 MongoDB 서버에 연결하는 경우 액세스가 허용되지 않습니다.

다시한번 밖으로 나가세요 /etc/mongod.conf, 그러면 다음과 같은 세 줄이 표시됩니다.

net:

  port: 27017

  bindIp: 127.0.0.1

원격 연결을 허용하려는 경우 몽고 사용자는 위에 표시된 값을 다음과 같이 변경하십시오.

net:

  port: 27017

  bindIp: 0.0.0.0

그런 다음 다시 시작하십시오. 몽고 서비스 sudo systemctl 다시 시작 mongod 다른 모든 편집과 마찬가지로 파일을 편집합니다.

이제 당신은 당신의 몽고 원격 연결을 허용하는 서비스 권한입니다. 하지만 이렇게 하면 아직 인증을 받지 않은 경우 데이터베이스가 전체 인터넷에 노출되므로 주의하세요. 몽고 사용자. 열려 있는 MongoDB 포트를 지속적으로 검색하는 봇이 많기 때문에 항상 mongod 사용자에게 비밀번호가 있는지 확인하세요.

큰 그림 요약

축하합니다. 이제 Ubuntu 시스템에 최적화된 MongoDB 서비스를 생성하기 위한 모든 작업을 완료했습니다. 이 기사에 제시된 모든 단계를 추적하기 위한 정신 지도도 있습니다.

명령 그것이 하는 일
적절한 업데이트 소프트웨어 목록 새로 고침
적절한 설치 소프트웨어 설치
파일 다운로드
GPG 암호화 키 관리
에코 텍스트 인쇄
보호된 파일에 쓰기
systemctl 시작 서비스 시작
systemctl 활성화 부팅 시 시작
systemctl 상태 서비스 확인
몽고쉬 MongoDB 쉘 입력
편집하다 /etc/mongod.conf 인증 활성화
으악 방화벽 관리
바인딩 원격 액세스 허용

그러면 전체 과정을 더 잘 이해하는 데 도움이 될 것입니다. 하지만 MongoDB를 스스로 설정하는 것이 너무 부담스럽다면 Cloudzy를 활용해 보세요. 몽고DB VPS MongoDB가 사전 설치된 개인 Ubuntu 24.04 LTS 서버용.

그것은 함께 제공됩니다 99.95% 가동 시간, 24/7 지원, 그리고 14일 환불 보장. 그 외에도 최대 지원 40 Gbps 대역폭 덕분에 DDR5 램 그리고 NVMe SSD 저장. 거주 지역도 걱정하지 마세요. 12 전 세계 어디든 저렴한 가격으로 만나보세요.

하지만 결국 프로덕션 수준의 워크로드와 비즈니스를 지원하기 위한 모든 구성을 갖춘 자신만의 MongoDB 서비스를 설정하는 데 성공했습니다.

공유하다

블로그에서 더 보기

계속 읽어보세요.

귀하의 비즈니스를 위한 스마트 데이터 관리: VPS를 통한 "클라우드형" 스토리지 및 백업 전략
데이터베이스 및 분석

귀하의 비즈니스를 위한 스마트 데이터 관리: VPS를 통한 "클라우드형" 스토리지 및 백업 전략

안전한 비즈니스 데이터 관리를 위한 VPS는 회사가 노트북, 이메일 첨부 파일, 잊어버린 파일 등에서 파일을 저글링하는 것을 중단해야 할 때마다 권장하는 전략입니다.

렉사 사이러스렉사 사이러스 7분 읽기
구체화된 뷰와 뷰
데이터베이스 및 분석

구체화된 뷰와 뷰: 데이터베이스에서의 역할 이해

데이터베이스 시스템에서 데이터베이스 개체인 구체화된 뷰는 미리 계산된 쿼리 결과를 물리적 테이블로 저장합니다. 데이터가 실제로 디스크에 저장되기 때문에 복잡하다.

아이비 존슨아이비 존슨 7분 읽기
SnowFlake 대 DataBricks
데이터베이스 및 분석

Databricks vs Snowflake: 데이터 전문가의 편견 없는 비교 🧱❄️

고객 행동을 추적하는 전자 상거래 플랫폼, 추세를 예측하는 금융 기관, 기술 회사 등 의사 결정을 내리기 위해 데이터를 사용하는 기업의 경우

앨런 반 커크앨런 반 커크 13분 읽기

배포할 준비가 되셨나요? 월 $2.48부터

2008년부터 독립 클라우드. AMD EPYC, NVMe, 40Gbps. 14일 환불.