환경

  • 실행 환경 : 리눅스 (윈도우, 맥도 가능)
  • 파이썬이 설치되어있어야 합니다.
  • jupyter 포트 (default : 8888 / 커스텀 가능) 가 점유중이면 안됩니다.
  • jupyter 포트 (default : 8888 / 커스텀 가능) 가 외부에서 접근할 수 있어야 합니다.


설치 및 설정

먼저, jupyter를 설치해줍니다.

1
2
pip install jupyter
pip install jupyterlab

jupyter 설정 파일을 생성해주세요.
생성된 jupyter 설정 파일은 jupyter --config-dir 명령어로 확인할 수 있습니다.

1
2
3
4
5
6
7
# jupyter 설정 파일 생성
jupyter lab --generate-config
>> Writing default config to: /root/.jupyter/jupyter_lab_config.py

# jupyter 설정 파일 경로 확인
jupyter --config-dir
>>> /root/.jupyter

jupyter 설정 파일 경로로 이동하여 “jupyter_notebook_config.py” 파일을 편집기로 열어줍니다.

1
2
3
4
5
# 설정 파일 경로로 이동
cd /root/.jupyter

# 편집기로 설정파일 열기
nano ./jupyter_lab_config.py

파일에 아래 내용을 추가해줍니다.
위치는 c = get_config() 아래면 상관 없습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
c = get_config()

# 주피터 랩의 경우
c.ServerApp.ip = '0.0.0.0'        # 접근 허용 IP
c.ServerApp.port = 8888           # 주피터 포트번호 / 다른 서비스와 겹치지 않게
c.ServerApp.open_browser = False  # 실행시 브라우저를 오픈할 것인지
c.ServerApp.notebook_dir = '/'    # 주피터가 실행되는 root 경로
c.ServerApp.password_required = False # 접속시 비밀번호 요구하지 않음
c.ServerApp.max_buffer_size = 메모리용량 # 바이트 단위

# 주피터 노트북의 경우
c.NotebookApp.ip = '0.0.0.0'        # 접근 허용 IP
c.NotebookApp.port = 8888           # 주피터 포트번호 / 다른 서비스와 겹치지 않게
c.NotebookApp.open_browser = False  # 실행시 브라우저를 오픈할 것인지
c.NotebookApp.notebook_dir = '/'    # 주피터가 실행되는 root 경로
c.NotebookApp.password_required = False # 접속시 비밀번호 요구하지 않음
c.NotebookApp.max_buffer_size = 메모리용량 # 바이트 단위

설정은 끝났습니다. 주피터를 실행시켜보도록 합니다.
추가로 실행시에는 –allow-root 옵션을 줘야 하며, 백그라운드 실행을 위한 nohup을 더하겠습니다.

1
nohup jupyter lab --allow-root &


사용

그러면 외부에서 접근해보도록 하죠.
인터넷 브라우저 창에서 “http://주피터실행중인서버ip:포트번호” 를 입력하고 이동합니다.

첫 화면에서는 비밀번호 입력 혹은 생성을 하라고 나옵니다.
아래 비밀번호 설정하는 부분을 보면 토큰값을 넣어야 비밀번호 생성이 가능한데요,
토큰값은 서버에서 아래 명령어로 확인이 가능합니다.

1
2
3
4
jupyter server list

>>> Currently running servers:
>>> http://IP주소:8888/?token=토큰값 :: /root/.jupyter

이 중 token 파라미터에 담긴 토큰값을 확인해주시면 됩니다.
다시 브라우저로 돌아와서, 아래에 토큰값을 넣고, 비밀번호를 설정해줍니다.
이후 접속부터는 비밀번호만으로도 로그인을 할 수 있습니다.

주피터를 로그인하면 그 이후는 일반적으로 로컬에서 실행시킨 주피터와 동일하게 사용할 수 있습니다.

Reference

메모리 용량 늘리기 : https://discourse.jupyter.org/t/increase-ram-for-jupyter-notebook/20687