JupyterNotebook 설치, HTTPS적용, 시스템 서비스 설정

문철환·2024년 2월 29일
0

CICD에 입문해보자

목록 보기
14/16
post-thumbnail

JupyterNotebook 설치

sudo apt-get update
sudo apt-get install python3-pip
sudo pip install notebook

위 코드로 주피터노트북 설치
서버 외부에서 서버에 접속할 수 있게 되었다.
아무나 접속하면 안되서, 주피터 노트북 비밀번호 설정

python3
from notebook.auth import passwd

를 진행하니 오류가 나왔다. 쥬피터 버전이 달라져서 아래와 같이 코드를 작성해야한다.

python
from jupyter_server.auth import passwd
passwd()


나온 argon2 값을 메모장에 잠시 넣어두고 exit()로 나온다.

  • 주피터 환경설정 (환경설정 파일만들기)
jupyter notebook --generate-config

sudo vi /home/ubuntu/.jupyter/jupyter_notebook_config.py

에 들어와서, 아래 사진의 형태로 작성. password = u' '여기 작은 따옴표에는 메모장에 복사해놓은 해시값넣어주기. -> :wq! 나오기

그 밑에 c.NotebookApp.notebook_dir = '/' 도 추가해주기

주피터노트북 루트권한으로 실행하기

sudo jupyter-notebook --allow-root
  • 주피터 서버 열림

  • 보안그룹에 가기

  • 인바운드 규칙에 포트 8888 추가하고 누구나 들어올 수 있게, 설정

나는 크롬이나, 엣지 등 안열린다..
우선 8888포트는 정상적으로 작동중이니, 방화벽 문제로 보고 계속진행한다.

현재 주피터 환경에서 ctrl + z를 눌러서 우분투환경으로 나오고,

bg
disown -h
sudo netstat -nap | grep 8888

을 진행해보니, netstat가 설치되어 있지 않아, 아래코드로 설치한다.

sudo apt install net-tools

저는 8888포트를 통해 주피터 노트북으로 진행하기 어렵다고 생각하여 모바엑스텀으로 HTTPS설정을 진행하려고한다.


HTTPS 설정

사설인증서를 만들 수 있다.
인증서의 유효기간 365일
rsa알고리즘을 이용, 공개키 기반 구조
개인키 cert.key , 공개키 cert.pem

저는 aws에서 권장한 2048로 진행했습니다 2번째 코드
sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout "cert.key" -out "cert.pem" -batch
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout "mykey.key" -out "mycert.pem"


입력 후 생성된다.
개인키인 mykey.key는 어디에서도 노출되면 안된다.


시스템 서비스 설정

재부팅 후에도 실행되게끔 하는 법

which jupyter-notebook
sudo vi /etc/systemd/system/jupyter.service

sudo systemctl daemon-reload
sudo systemctl enable jupyter
sudo systemctl start jupyter
sudo systemctl status jupyter
profile
밝고 빛나게

0개의 댓글