토막글

Azure VM(Linux)에서 jupyter notebook 사용하기

케굴 2021. 9. 3. 00:31

가상머신에서 jupyter notebook을 깔고 jupyter notebook를 입력하면 주피터 노트북을 사용할 수 있을줄 알았다.

웹으로 접속하는 주피터 노트북의 주소를 보면  http://127.0.0.1:8888/ 으로 들어가고 있다.

 

이 방법은 local을 통해서 주피터 노트북에 접속하는 방법이기 때문에, 당연히 가상머신에서는 사용할 수 없는 방법이다.

따라서 아래 방법을 통해 설정을 해주어야 한다.

 

그래서 이 글에서는 리눅스 Azure VM 에서 아나콘다 설치 및 jupyter notebook 사용을 다룰 예정이다. 

 

아나콘다 설치

리눅스 운영체제에 먼저 anaconda를 깔아주었다. 

다들 정석적인 방법으로 하는데, ㅎ 나는 mobaxterm을 이용해서 좀 다르게 깔았다

https://www.anaconda.com/products/individual#download-section

아나콘다 공식 사이트에서 리눅스버전 installer를 다운받는다 

여기서 제일 위에있는 64-bit(x86) Installer를 다운받았다.

 

그리고 mobaXterm으로 에저 서버에 접속해서 installer를 그냥 드래그로 서버에 넣어줬다.

$ bash Anaconda3-2021.05-Linux-x86_64.sh

 년 ,월은 각자 파일에 맞게 바꿔준다.

명령어를 치면 뭐 하라고 이것저것 나오는데 그거 따라가면 끝난다.

 

주피터 노트북 설정

 

1. 리눅스 VM 에 port를 열어준다.

일단 azure의 가상머신으로 들어가서 가상머신의 설정에서 네트워킹에 들어간다. 

 

인바운드 보안 규칙 추가를 누른다.

누르면 아래 그림과 같이 나온다. 

아래 사진과 같이 설정하고 추가해 준다. 

 

 

 

2. Config 설정하기 

 

일단 첫번째로 해주어야 하는것은 SSL 인증서를 만들어 주는 것이다.

 

cd ~/.jupyter

두 코드를 쳐준다. 

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem

이 코드를 치면 국가, 도시 , 이메일 등을 설정하라고 나온다 .

대충 적어주면 인증서가 생성이 된다.

 

 

그다음은 비밀번호를 암호화 해주는 과정이다. 

콘솔창에 python3를 입력해서 python을 켜준다.

그리고 아래 코드를 입력한다.

from notebook.auth import passwd
passwd()

입력하면 password를 입력하라고 나오고 입력을 해주면 

 

아래와 같이 비밀번호를 변환한 값을 얻게 된다.

argon2:$argon2id$v=19$m=10240,t=10,p=어쩌구'

그럼 이 값을 복사해서 저장해둔다. 

대부분 sha1 어쩌구로 나왔는데, argon2 도 틀린게 아니다 

 

 

다음은 jupyter notebook의 config 파일을 만들어 주는 과정이다 

$ jupyter notebook --generate-config

 

그리고 만들어진 config 파일을 열어서 편집해 준다.

vi 편집기를 이용해도 되지만, mobaXterm의 기본 편집기를 이용하면 더 편하다! 

c = get_config()

# You must give the path to the certificate file.
c.NotebookApp.certfile = u'/home/azureuser/.jupyter/mycert.pem'

# 아까 저장해 놓은 비밀번호 값을 넣어준다. 
c.NotebookApp.password = u'argon2:$argon2id$v=19$m=10240,t=10,p=어쩌구'


c.NotebookApp.ip = '*'
c.NotebookApp.port = 9999
c.NotebookApp.open_browser = False

 

이걸 저장하고 jupyter notebook을 실행하면 실행이 된다.

그럼 https://자기 azure 서버의 ip:9999 로 접속하면 주피터 노트북을 사용할 수 있다.