728x90
설치
sudo apt-get install mongodb-server
상태확인 : sudo systemctl status mongodb
서비스 등록 : sudo systemctl enable mongodb (부팅시 자동으로 서비스 시작)
포트확인 : netstat -antp (MongoDB 서비스 default port는 27017)
접속 : sudo mongo
원격 접속 설정
먼저 테스트해봅니다.
import pymongo
import datetime
def connect():
host = '192.168.254.77'
port = '27017'
db = 'blog'
coll = 'ex'
conn = pymongo.MongoClient('mongodb://{}:{}'.format(host, port))
today = datetime.datetime.now().date()
conn[db][coll].insert({
'name': 'jvvp.tistory.com',
'today': str(today)
})
docs = conn[db][coll].find()
for doc in docs:
print(doc)
connect()
pymongo.errors.ServerSelectionTimeoutError: 192.168.254.77:27017: [WinError 10061] 대상 컴퓨터에서 연결을 거
부했으므로 연결하지 못했습니다
환경파일을 열어서 편집하겠습니다.
sudo vi /etc/mongodb.conf
bind_ip = 127.0.0.1 부분을 주석으로 막고
bind_ip = 0.0.0.0 을 추가한 후 저장 하고 나옵니다.
서비스 재시작
sudo systemctl restart mongodb
이제 원격 접속이 가능합니다.
코드를 다시 실행해보면 정상적으로 동작하는 것을 확인할 수 있습니다.
import pymongo
import datetime
def connect():
host = '192.168.254.77'
port = '27017'
db = 'blog'
coll = 'ex'
conn = pymongo.MongoClient('mongodb://{}:{}'.format(host, port))
today = datetime.datetime.now().date()
conn[db][coll].insert({
'name': 'jvvp.tistory.com',
'today': str(today)
})
docs = conn[db][coll].find()
for doc in docs:
print(doc)
connect()
{'_id': ObjectId('5f0c774330ee6d07b96dd76c'), 'name': 'jvvp.tistory.com', 'today': '2020-07-14'}
오류 해결
ConfigurationError: Server at 127.0.0.1:27017 reports wire version 0, but this version of PyMongo requires at least 2 (MongoDB 2.6)
이와 같은 에러 발생시 다음과 같이 pymongo의 버전을 확인하고 다음 버전을 설치합니다.
pip install pymongo==3.4.0
'IoT > Raspberry Pi' 카테고리의 다른 글
라즈베리파이(Raspberry Pi) 카메라 모듈 사용하기 -2 : picamera (0) | 2020.07.28 |
---|---|
라즈베리파이(Raspberry Pi) 카메라 모듈 사용하기 -1 : h264 to mp4 (0) | 2020.07.24 |
라즈베리파이(Raspberry Pi) 외부접속 설정하기 - 포트포워딩 (0) | 2020.07.13 |
파이썬 모스부호 변환기 - 2 (0) | 2020.07.12 |
파이썬 모스부호 변환기 - 1 (0) | 2020.07.12 |