PC(local)에서 Server로 연결하려면 ubuntu를 사용하여 ssh 명령을 통해 git bash를 사용한다.
강사님께서 AWS에서 ec2인스턴스에서 미리 server를 만들어서 우리에게 IP, ID, PW를 배포하였다.
kt.pem 파일은 pw를 사용하는 파일이다. 내가 원하는 경로에 나두고 경로를 꼭 기억해 두자
로그인 후 인스턴스 시작을 누른다

내가 사용할 애플리케이션, 버전, 인스턴스 유형을 선택함 (강의에선 Ubuntu 사용)

키페어 생성

네트워크 설정

요약

최종 요약을 보고 내가 원하는 걸로 만들었는지 확인 후 생성함
여기서 server를 생성할 수 있음
local $ ssh -i <[pem file path> <user name>@<server public ip>
ex)
ssh -i ~/Desktop/kt.pem ubuntu@00.000.00.000
local $ scp -ri <pem file path><source file path><user name>@<public ip>:<destination file path>
ex)
local $ scp -ri ~/Desktop/kt.pem ~/Desktop/env ubuntu@00.000.000.000:~/
파이썬 설치
ubuntu $ source ~/env/pyenv.sh
파이썬 기본 버전을 3.8.5로 설정
ubuntu $ pyenv global 3.8.5
requirements.txt에 정의된 파이썬 패키지 설치
ubuntu $ pip install -r ~/env/requirements.txt
주피터 노트북 설정 파일 생성
ubuntu $ jupyter notebook —generate-config
ubuntu $ ipython
In [1]: from jupyter_server.auth import passwd
In [2]: passwd()
Enter password: ktpw
Verify password: ktpw
Out[3]: ~~~~~~
In [4]: quit
Vim Editor 접속
ubuntu $ sudo vi /home/ubuntu/.jupyter/jupyter_notebook_config.py
c.NotebookApp.ip = '000.00.0.000' # private ip address
c.NotebookApp.open_browser = False # 자동 브라우져 실행 설정
c.NotebookApp.password = 'argon2: ~~~~~~ 위에서 생성된 패스워드'
- 저장 후 나가기: esc(입력모드 나가기) + : + w(저장) + q(나가기) + enter(입력)
javascript 실행을 위한 패키지 설치
ubuntu $ sudo apt-get install nodejs npm jupyter
ipython에서 실행 가능한 javascript를 npm으로 설치 및 설정
ubuntu $ sudo npm install -g --unsafe-perm ijavascript
ubuntu $ sudo ijsinstall --install=global
- 서버 실행 확인
ps -e | grep jup- 서버 종료
kill -9 29497
ubuntu $ sudo apt install software-properties-common gnupg apt-transport-https ca-
certificates -y
ubuntu $ curl -fsSL https://pgp.mongodb.com/server-7.0.asc | sudo gpg -o /usr/share/
keyrings/mongodb-server-7.0.gpg --dearmor
ubuntu $ echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-
server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
ubuntu $ sudo apt update
ubuntu $ sudo apt install mongodb-org -y
ubuntu $ sudo systemctl start mongod
ubuntu $ sudo systemctl status mongod
- 창 나가려면 q 입력
ubuntu $ mongosh
test>use admin
admin> db.createUser({ user: "kt", pwd: "ktpw", roles: [ "root" ] })
admin>quit
ubuntu $ sudo vi /etc/mongod.conf
- bindIp: 0.0.0.0
- security:
authorization: enabled
- 저장 후 나가기: :wq
ubuntu $ sudo systemctl restart mongod
!pip install pymongo
import pymongo
import pandas as pd
import numpy as np
# uri = 'mongodb://<user>:<password>@<public ip>:<port>/?authSource=admin'
uri = 'mongodb://kt:ktpw@00.000.0.00:00000/?authSource=admin'
client = pymongo.MongoClient(uri)
list(client.list_databases())

# make data
df = pd.DataFrame({
'name': list('ABCDE'),
'age': np.random.randint(20, 40, 5),
'addr': list('SPIDS'),
})
df

json_data = df.to_dict('records')
json_data

# DBS(client) > DB(mongo) > Collection(users)
result = client.mongo.users.insert_many(json_data)
result

collection = client.mongo.users
documents = collection.find({})
data = list(documents)
len(data), data[0]

collection = client.mongo.users
documents = collection.find({})
data = list(documents)
pd.DataFrame(data)

collection.update_many({'age': {'$lt':30}}, {'$set': {'age':20}})
documents = collection.find({})
data = list(documents)
pd.DataFrame(data)

collection = client.mongo.users
collection.delete_many({'addr':'5'})
documents = collection.find({})
data = list(documents)
pd.DataFrame(data)

exit 커멘드 사용ex)
- ls (현재 디렉토리의 리스트 출력)
- ls env (env 안에 있는 리스트 출력)
- ls -al env (모두 출력)
ex)
- touch test.txt
ex)
- mkdir notenooks
ex)
- pwd
ex)
- cd .. : 상위으로 이동
- cd test : test 디렉토리로 이동
ex)
- cat requirements.txt : requirements.txt안에 있는 텍스트 출력
ex)
- head -n 10 test.txt
ex)
- tail -n test.txt
ex)
- history
ex)
- notebookes 디렉토리에 test.txt 파일 복사
- cp test.txt ./notebooks/ (상대경로)
- cp test.txt notebooks/ (상대경로)
- cp test.txt /home/ubuntu/notebooks (절대경로)
- cp test.txt ~/notebooks/ (절대경로)
- 위 네 개는 모두 같음
ex)
- mv test.txt env : notebooks 디렉토리에 test.txt로 파일을 env로 이동
ex)
- df -h
ex)
- free -h
ex)
- rm test.txt
ex)
- history | grep cd
- cd가 들어간 히스토리 리스트를 보여줌
ex)
- echo "hello world" > test.txt
ex)
- kt 디렉토리를 생성하고 kt 디렉토리로 이동
- mkdir kt && cd kt
alias server = ssh -i ~/Desktop/kt.pem ubuntu@00.000.00.000 를 입력하면server만 입력해도 IP 환경 접속 가능esc: 일반모드로 변경w, forword: 단어 뒤로 이동b, backword: 단어 앞으로 이동^: 행의 가장 앞으로 이동$: 행의 가장 뒤로 이동x: 현재 커서 위치 문자 삭제dw: 현재 커서 위치 단어 삭제D: 현재 위치에서 라인 끝까지 삭제dd: 행 삭제gg: 문서 시작으로 이동G: 문서의 끝으로 이동숫자 + G: 숫자 라인으로 이동{: 이전 페이지로 이동}: 다음 페이지로 이동yw: 단어 복사yy: 한줄 복사p: 붙여 넣기u: 되돌리기a: 커서 위치의 다음 칸부터 입력i: 커서 위치 부터 입력o: 커서 위치의 다음 줄부터 입력: 입력하면 에디어 가장 마지막 줄에 : 문자 뒤에 명령실행가능:wp : 파일 저장 후 나가기/: 정방향 검색, n: 다음 검색 단어로 이동함?: 역방향 검색w: 파일 저장q: 나가기!: 강제실행set number: 줄번호 표시
- s1 s2 세션을 생성함
- s1 한 쪽에만 입력해도 다른 s1 세션에 생성 됨
- ctrl + b, c
- 0번만 있던 창이 1번도 생성 됨
- ctrl + b, 창번호
- 자유롭게 창 이동 가능